static
static:静态的,静态修饰符。可以修饰:属性、方法、块。用static修饰的生命周期长。
|DemoA.java
|编译
|DemoA.class
|读取(加载)
|从硬盘---->内存过程 所有静态内容产生了
|产生对象
|new 类();所有非静态内容产生了
用static修饰的方法不能直接调用非static修饰的。非static修饰的可以调用static修饰的。
块:类似于一个匿名方法体,没有名字,只执行一次,在类被加载时执行,按照书写顺序执行。
static{……………………}
final
final:最终的,不可改变的。
修饰:
- 类:最终的类,不能被继承的类。
- 方法:最终的方法,不能被重写的方法,但可以被继承。
- 变量:最终的变量,值不能被更改的,(常量)必须初始化。
public class Final2 {
public int id;
@Override
public String toString() {
return "Final2{" +
"id=" + id +
'}';
}
}
public class Final1 {
public static void main(String[] args) {
final Final2 final2 = new Final2();
System.out.println(final2);//id:0
final2.id = 3;//没有修改final2,修改的是id
System.out.println(final2);//id:3
final2 = new Final2();//改变了final2的值×
}
}
abstract
abstract:抽象的,未完成的。
修饰:
- 类:抽象类,类中有一个方法是抽象的,这个类就要被声明成抽象的,不能被new。
- 方法:抽象方法,没有方法体,需要子类重写。