1、static
修饰:
修饰属性:类变量,全类共有
修饰方法:静态方法,静态方法中不能直接访问非静态的方法和属性
静态方法只能被静态方法覆盖,并且没有多态
静态的方法或者属性不依赖于对象:类名.方法名(属性名直接访问)
修饰静态代码块:在类加载下执行
类加载: 在第一次使用这个类时(创建对象之前),JVM会通过classpath找到
对应.class文件,并且把类的信息加载起来。
2、final
最终的
修饰变量:常量(值不可以改变,只能赋值一次),修饰属性时,
要么直接给初始值,或者在构造方法中赋值
修饰方法:不能被覆盖
修饰类:不能被继承
3、abstract:抽象的,不完整的
修饰类:抽象类 有构造方法,但是不能创建对象
修饰方法:抽象方法,只有声明,没有实现
public abstract void m1();
注意:
①抽象类中可以没有抽象方法
②如果一个类中有抽象方法,那么他必须是抽象类
③如果一个类继承了抽象类,但不想成为抽象类,那么这个类必须实
现抽象类中的所有抽象方法
接口:
特殊的抽象类
1、接口中的方法都是公开抽象方法;public abstract void m();
2、接口中所有的属性都是公开静态常量 public static final int a = 0;
接口的关键字: interface
一个类要实现一个接口,那么这个类必须实现接口中所有的抽象方法
接口的作用:解耦合