Java 继承(Inherits)

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java 继承(Inherits)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

图片描述

这张图大致说明了继承的结构关系。矩形代表属性,角矩形代表方法。

在继承中,子类完全继承了父类的属性和方法,同时可能又增加了自己的属性和方法(扩充Extends),同时又可能对父类的方法进行了重写或覆盖(override,完全一样的方法和参数),或者进行了重载(overload,完全一样的方法名,不一样的参数)。

在创建一个子类对象时,会首先逐层从子类到父类传递参数给上一层以实现各方法能够有必要的参数执行,之后会逐层依次创建从Object原始类开始直到本子类的所有对象,只不过之前的对象皆为匿名,只有最终的子类对象可以实名访问。

如上例所示,创建一个Child类的对象C:

Child C = new Child();  
  • Parent (P) = new Parent();Grandparent (G) = new GrandParent();

    会被隐式调用以分别创建两个匿名父类对象(P),(G)已完成对最终对象的初始化。

  • (G)在Grandparent()构造函数调用后先被创建出来并占用一定的存储空间,同时具有了它的属性和方法;

  • (P)在(G)的空间和逻辑基础上在Parent()构造函数调用下被创建出来,并具有了Parent类的其他独有属性和方法,同时将Grandparent类中需要重写或重载的方法变更,占用多出来的空间;

  • C在(P)的空间和逻辑基础上在Child()构造函数调用下被创建出来,并具有了Child类的其他独有属性和方法,同时将Parent类中需要重写或重载的方法变更,继续占用多出来的空间。

    class Grandparent {     public String str;     public Grandparent()      {         System.out.PRintln("GrandParent Created.");     }      public Grandparent(String string)      {         str = string;         System.out.println("GrandParent Created.String:" + string);     } }      class Parent extends Grandparent  {      public Parent()      {         suPEr("Hello.Grandparent.");         System.out.println("Parent Created");     } } class Child extends Parent  {      public Child()      {         System.out.println("Child Created");     } } public class test {      public static void main(String args[])      {         Child c = new Child();         System.out.println(c.str);     } } 

脚本宝典总结

以上是脚本宝典为你收集整理的Java 继承(Inherits)全部内容,希望文章能够帮你解决Java 继承(Inherits)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。