java中抽象类可以不实现接口所有方法

概述:

如果是普通的类,必须去实现接口里所有的方法,如果是抽象类,则可以不去实现


如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!

.Java中抽象类就是使用abstract关键字修饰的一种特殊的类,抽象类可以不去实现接口的抽象方法,可以由继承这个抽象类的子类去实现。

抽象类不能实例化,不能直接创建对象。抽象类是用来被继承的,继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类,使用 abstract 关键字修饰

抽象方法不能用private、final、static、native修饰

我们只定义静态static方法完全OK,因为静态方法是属于类的,所以静态方法必须满足给类调用,如果通过类无法调用,那么这种静态方法肯定是不对的。

为了达到这一要求,static方法就必须有方法体,即已经实现了,也就不是抽象方法了。所以静态(static)方法不能是抽象方法,

即abstract不能与static同时修饰方法。即没有类抽象方法

abstract修饰的类需要被子类继承,abstract修饰的方法需要子类重写,但是final修饰的类不能被继承,final修饰的方法也不能被子类重写。

因为abstract修饰的方法必须通过子类重写才有效,而private修饰的方法对子类不可见,

即父类中如果存在private abstract void out();而子类中有private void out(){},

则它们是两个不同的方法,子类中的out方法不是对父类的重写,而是属于子类独有的方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容