要如何判断应该是设计类、子类、抽象类或接口

1. 如果新的类无法对其他的类通过IS-A测试时,就设计不继承其他类的类。

2. 只有在需要某类的特殊版本时,以覆盖或增加新的方法来继承现有的类。

3. 当你需要定义一群子类的模板,又不想让程序员初始化此模板时,设计出抽象的类给他们用。

4. 如果想要定义出类可以扮演的角色,使用接口!

要点:

1. 如果不想某个类被初始化,就以abstract这个关键词修饰为抽象类。

2. 抽象类可以带有抽象和飞抽象的方法。

3. 如果类带有抽象方法,则此类必定标示为抽象的。

4. 抽象方法没有内容,它的声明以分号结束。

5. 抽象方法必须在具体的类中实现。

6. Java所有的类都是Object(java.lang.Object)直接或间接的子类。

7. 方法可以声明为Object类型的参数或返回类型。

8. 不管实际上所引用的对象是什么类型,只有在引用变量的类型就是带有某方法的类型时候才能调用该方法。(即只能使用应用类型中的方法)

9. Object引用变量在没有类型转换的情况下不能赋值给其他类型,若堆上的对象类型与所有转换的类型不兼容,则此转换会在执行期间产生异常。可以使用 instanceof来检查。

10. 从ArrayList<Object>取出的对象只能被Object引用,不然就要用类型转换来改变。

11. Java不允许多重继承,因为那样会有致命方块问题。

12. 接口就好像是100%纯天然抽象类

13. 以Interface作为关键词来声明接口

14. 实现接口时使用implements关键词

15. class可以实现多个接口。

16. 实现某接口的类必须实现它的所有的方法,因为这些方法都是public与abstract的。

17. 要从子类调用父类的方法可以用super关键词。

原文地址:https://www.cnblogs.com/shinhwa/p/3299804.html