java学习笔记11-static关键字
如果在类中使用static关键字创建方法,这种方法称为类方法,可以在这个类中直接引用。而不是用static创建的方法。这种方法称为对象方法(实例方法),需要创建对象后才能使用。
package lesson;
public class TestDemo {
public static void methon1(){
System.out.println("类方法");
}
public void methon2(){
System.out.print("实例方法");
}
public static void main(String[] args){
TestDemo.methon1();
TestDemo.methon2();
}
}

如果在类,方法外,使用static创建的变量。这种变量称为类变量,类变量属于这个类,可以在本类中的任何类方法里面直接引用。而非static关键字声明的变量为成员变量,这种变量属于这个类的对象。可以在实例方法中引用。
package lesson;
public class TestDemo {
static int no1=10;
int no2=20;
public static void main(String[] args){
System.out.println(no1);
System.out.println(no2);
}
}

在类的加载时(第一次调用类),类的成员变量会进行初始化,引用数据类型会默认初始化为null,int和long类型变量初始化为0,float和double的变量会初始化为0.0
类在加载时,除了初始化变量,还会调用类的静态块和动态快
静态块:使用static关键字修饰,static{}。有多个静态块会顺序执行
动态快:动态快不需要任何关键字修饰,直接使用花括号包含。有多个动态快会顺序执行
类在初始化时,静态块只会在第一次加载时执行一次,而动态快在每次使用此类都会执行。
package lesson;
public class TestDemo {
static{
System.out.println("静态块");
}
{
System.out.println("动态快");
}
public static void main(String[] args){
TestDemo test = new TestDemo();
TestDemo test1 = new TestDemo();
}
}

当调用静态方法时,是不会加载动态快的
package lesson;
public class TestDemo {
static{
System.out.println("静态块");
}
{
System.out.println("动态快");
}
public static void Hello(){
System.out.println("Hello");
}
public static void main(String[] args){
TestDemo.Hello();
}
}

java学习笔记11-static关键字的更多相关文章
- Java学习笔记之——static关键字
static属于类的,不属于任何一个对象的 static关键字的应用场景: 1.静态代码块:在类下用static修饰的代码块 static{ 代码: } 只能执行一次,是在第一次使用类之前执行 类加载 ...
- 1.6(java学习笔记)static关键字
static关键字 1.static修饰变量也称静态变量,静态变量存放在静态区被该类的所有对象共享. 例如,定义了一个类class User{static Sring city = "a城& ...
- Java学习笔记之---static
Java学习笔记之---static static不能修饰类,局部变量 (一)静态成员的特征 static+属性 静态属性 无论实例化出来多少个对象,都会共用同一块静态空间,类对象共享 静态成员从第 ...
- 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...
- 【C++学习笔记】static 关键字
(阅读<C++ primer plus>可知 C++的static关键字跟Java还是很类似的) 为什么需要static关键字:在文件A中定义的非局部变量language,在文件B中可以通 ...
- JAVA学习笔记之static——2016.3.10
static关键字 作用:修饰符,用于修饰成员<成员产量,成员方法> 1'被修饰的成员产量只有一份. 2'被修饰后的成员多了一种方式的访问,除了可以对象调用外,还可以被 ...
- Java学习笔记 11/15:一个简单的JAVA例子
首先来看一个简单的 Java 程序. 来看下面这个程序,试试看是否看得出它是在做哪些事情! 范例:TestJava.java // TestJava.java,java 的简单范例 public ...
- Java学习笔记11
package welcome; import java.util.Scanner; /* * 代数问题:求解2x2线性方程 */ public class ComputeLinearEquation ...
- 《JAVA学习笔记 (final关键字)》
[14-9]面向对象-final关键字 /* 继承的弊端,打破封装性. 不让其他类继承该类,就不会有重写. 怎么能实现呢?通过Java中的一个关键子来实现,final(最终化). [final关键字] ...
- Java学习笔记11(面向对象四:多态)
多态: 举例:描述一个事物的多种形态,如Student类继承了Person类,一个Student对象既是Student,又是Person 多态体现为:父类引用变量可以指向子类对象 多态的前提:必须有子 ...
随机推荐
- 周末学习笔记——day02(带参装饰器,wraps修改文档注释,三元表达式,列表字典推导式,迭代器,生成器,枚举对象,递归)
一,复习 ''' 1.函数的参数:实参与形参 形参:定义函数()中出现的参数 实参:调用函数()中出现的参数 形参拿到实参的值,如果整体赋值(自己改变存放值的地址),实参不会改变,(可变类型)如果修改 ...
- vue 相关
1.vue v-for 循环一个数组,key值报错,但是数据是正常显示的 报错: v-for使用key,需要在key前加上:key;srcList是个数组,key值绑定不能是数据类型Object的it ...
- 微信小程序-表单笔记
发布页——向云端数据库上传多行文字和4张图片 第6,8行注释掉和不注释掉都可以实现数据上传 var _this = this; wx.cloud.callFunction({ name: 'searc ...
- 用eclipce编写 MR程序 MapReduce
package com.bw.mr; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.a ...
- python nympy 序列化dict
首先定义dict dict={} 对象写到dict dict['key']=object 存储dict np.save('dictname.npy',dict) 读取dict dictname=np. ...
- DS博客作业03--栈和队列
1.本周学习总结 本周学习中学习了栈和队列,栈和队列都属于线性结构,栈和队列不同于线性表的地方在于它们的相关运算具有一些特殊性,所以栈和队列也称为操作受限的线性表. 1.栈 栈是重要且常用的数据结构之 ...
- C# AddRange为数组添加多个元素的代码
将代码过程中重要的代码片段做个收藏,下面代码段是关于C# AddRange为数组添加多个元素的代码,希望对小伙伴有所用处.ArrayList ab = new ArrayList();ab.Add(& ...
- 安装php的lavavel框架的流程(亲测)
windows上安装配置laravel 初次接触laravel会觉得它的安装方式比较不一样,与Linux上安装软件的方式很相似. 学习laravel的最好方式当然是看官方文档,笔者就在这里讲官方文档上 ...
- 记录一次群答问:jmeter正则提取器提取一个及多个值
图截得比较大,浏览器放大倍数看吧^_^ 前几天,在群里被@,咨询这样一个问题:服务器返回:name="tom" value="jerry" 要提取出name ...
- Matlab 中subsystem mask封装子系统
Icon&port %%外型图表封装 %%.曲线型标注: plot(cos(:*pi),sin(:*pi)) %%.文字型标注: disp('PID\n控制器') %%.曲线加文字型标注: p ...