黑马day02 Static final interface关键词使用中的一些注意事项

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修饰的类

}
发布了8 篇原创文章 · 获赞 3 · 访问量 113

猜你喜欢

转载自blog.csdn.net/weixin_43814245/article/details/105080043