1.Static 关键字
(1).静态方法中不能使用this关键字,因为static优先于对象存在,static方法加载的时候可能还没有this对象
(2)静态方法不能直接调用非静态,可以通过创建对象的方式调用非静态
(3)子类无法重写父类static方法,但是能继承
class Fu{
static int a=10;
public static void sleep(){
System.out.println("睡觉");
}
}
class Zi extends Fu{
public void sleep(){
//会报错
}
}
2.接口
(1)接口中的变量前默认都有 public static final,方法前有public abstract。
(2)接口与接口之间可多继承,不能用实现,只能用继承。
(3)接口中的deflut修饰的方法可以有方法体,子类可直接调用
(4)一个子类Zi 继承了父类Fu 同时又实现了接口A,Zi类中可以不用重写接口A中的所有抽象方法,但是没有重写的方法必须要在Fu类中重写。
补充:接口不能被类继承,只能被类实现。
3.final关键字
*(1)被final修饰的成员变量可以在方法构造器中赋值,但是每个构造器都要对改变量赋值。
(2)final修饰的类不能有子类,故final中的方法不可能被重写
final class Fu{
static int a=10;
public static void sleep(){
System.out.println("睡觉");
}
}
class Zi extends Fu{//会报错,无法继承被final修饰的类
}