static关键字
1.修饰属性:这个属性,不是对象的属性了。属于类的属性,是公有的资源,任何对象都可以访问,静态属性存在方法区中,只有一份。
2.修饰方法:方法也是被加载到方法区内的,也是属于类的方法,不是对象的。
建议:使用类名进行调用
不能直接访问非静态的属性,和非静态的方法
3.修饰代码块
static{
//代码块 只执行一次,是在加载期间执行的。
执行时间在创建对象之前。
}
一般是用来加载静态资源的
final关键字
1.修饰属性
只能声明时赋值,或者在构造器中赋值,
只能不能再重新被赋值(只能赋一次值) 指定值
2.修饰方法
使用final修饰的方法不能被子类重写。
为了避免子类不经意间重写了这个方法,
就使用final修饰。(老实继承,不许篡改)
3.修饰类
修饰的类不能被继承,不能存在子类。
String类型就是final修饰的类。
this关键字
this在方法定义期间是没有意义的,规定模板,确定逻辑结构,当程序运行起来后,this是指向对象的。
public Person(String name){
this.name = name;
}
另外一种用法:this(有参传参),只能在某一个构造方法中使用,并且
只能放在首行首句,表示调用本类中其他的构造器
public Person(int a){
this.a = a;
}
public Person(int a,int b){
this(a);
this.b = b;
}
static final常量
1.必须声明同时初始化
2.通过类名来访问,不能被改变
3.建议常量名所有字母都大写(多个单词用_)
4.在编译时被自动替换为具体的值,小率高