Java- 继承和多态

Java- 继承和多态

  1. 可以从现有的类派生出新类。这称为类的继承。新类称为次类、子类或派生类。现有的类称为超类、父类或基类。
  2. 构造方法用来构造类的实例。不同于属性和方法,子类不继承父类的构造方法。它们只能用关键字 super 从子类的构造方法中调用。
  3. 构造方法可以调用重载的构造方法或它的父类的构造方法。这种调用必须是构造方法的第一条语句。如果没有显式地调用它们中的任何一个,编译器就会把 super()作为构造方法的第一条语句,它调用的是父类的无参构造方法。
  4. 为了覆盖一个方法,必须使用与它的父类中的方法相同的签名来定义子类中的方法。
  5. 实例方法只有是可访问的时候才能覆盖。这样,私有方法是不能覆盖的,因为它是不能在类本身之外访问的。如果子类中定义的方法在父类中时私有的,那么这两个方法是完全没有关系的。
  6. 静态方法与实例方法一样可以继承。但是,静态方法不能覆盖,如果父类中定义的静态方法在子类中重新定义,那么父类中定义的方法被隐藏。
  7. Java 中的每个类都源于 Java.lang.Object类。如果一个类在定义时没有指定继承关系,那么它的父类就是Object
  8. 如果一个方法的参数类型是父类(例如:Object),可以向该方法的参数传递任何子类(例如:Circle 类或 String 类)的对象。当在方法中使用一个对象(例如:Circle对象或String 对象)时,动态的决定调用该对象方法(例如:toString)的某个特征的实现。(C++ 中的使用虚函数实现动态连编)。
  9. 因为子类的实例总是它的父类的实例,所以,总是可以将一个子类的实例转换成一个父类的变量。当把父类的实例转换成它的子类变量时,必须使用转换记号(子类名)进行显式转换,向编译器表明你的意图。
  10. 一个类定义一个类型。子类定义的类型称为子类型,而父类定义的类型称为父类型。
  11. 当从引用变量调用实例方法时,该变量的实际类型在运行时决定使用该方法的哪个实现。当访问数据域或静态方法时,引用变量的声明类型在编译时决定使用哪个方法。
  12. 可以使用表达式obj instanceof AClass(对象名 instanceof 类名)测试一个对象是否是一个类的实例。
  13. 可以使用 protected 修饰符来防止方法和数据被不同包的非子类访问。
  14. 可以使用final 修饰符来表明一个类是终极的,是不能成为父类的;并且用它来表明一个方法是终极的,是不能覆盖的。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,947评论 2 9
  • Java继承和多态 继承 定义 继承就是利用现有类创建新类的过程,现有的类称为 父类(基类),新类称为 子类(派生...
    Golden30阅读 3,315评论 0 1
  • 父类与子类 在Java术语中,如果C1类扩展自另一个类C2,我们称C2为父类,也称超类或基类,称C1为子类,也称次...
    Steven1997阅读 4,991评论 1 2
  • centos资源监控
    老男人一枚的博客阅读 3,280评论 0 0
  • 第二集 刘安然心痛了一下跟冉小菲说。 他又笑了一下,“哦……哦嗯是么,阿嗯,你还是收下吧,人家的,嗯,那个心意啊。...
    明小曦阅读 2,732评论 0 1