美文网首页
Java中子类能否继承父类的私有属性和方法

Java中子类能否继承父类的私有属性和方法

作者: 程序员七哥 | 来源:发表于2017-06-19 11:14 被阅读142次

Java中子类继承父类的私有属性和方法

写在前面:

已经正式从事java开发一年了,在写一个demo的时候,突然发现继承这块的知识,以前都没有注意到这些,原来自己掌握的很浅薄。

通过书本看到子类拥有父类的所有属性和方法,于是写程序去验证,发现父类的私有属性和方法,子类是不能访问的,当然父类的某些私有属性可以通过父类的非私有方法去访问到,但是私有的方法不能在子类中直接访问。于是我认为,子类不能继承父类私有的属性和方法;
但是通过网上查阅,分析了内存后,我发现我是错误的,在一个子类被创建时,首先会在内存中创建一个父类对象,然后在父类对象的外部放上子类独有的属性,这两者结合起来形成了一个子类的对象。
所以在java继承中,子类拥有父类所有属性和方法可以这样理解:

子类对象确实拥有父类对象中的所有属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但不能使用。就像有些东西你肯恩拥有,但是你并不能使用;

所以子类对象时绝对大于父类对象的,所谓子类对象只能继承父类非私有的属性及方法的观点是错误的。可以继承,只是无法访问到而已。

相关文章

  • ES5、ES6继承

    ES5、ES6继承方式 继承的目标: 父类公有属性和方法为子类公有属性和方法父类私有属性和方法为子类私有属性和方法...

  • 继承

    继承: 子类必须有父类的公有和私有属性和方法 继承私有属性: 改变子类的this指向 继承公有方法: 直接把父类的...

  • PHP 继承、封装、多态

    一、继承 -子类只能继承父类的非私有属性-子类继承父类后,相当于将父类的属性和方法copy到子类,可以直接使用$t...

  • Day-14 继承和多态

    子类可以拥有父类所有的非私有的属性和方法子类可以重写父类的方法父类不能使用子类的方法 对象属性的继承:是通过继承i...

  • 继承和接口

    继承(class 子类 extends 父类)Override:方法重写只改动方法体。 继承不能继承父类私有属性及...

  • java基础2

    Java 中继承的特点 只支持单继承 子类只能继承父类的非私有的成员和方法 子类不能继承父类的构造方法,但是可以通...

  • iOS继承中子类如何调用父类私有方法

    一、子类继承父类的super和方法覆盖 1.子类对象不能在自己的方法内部,直接访问父类的私有属性或私有方法2.子类...

  • Java学

    Java中的继承注意事项 1.子类只能继承父类所有的非私有成员(成员变量和成员方法) 2.子类不能继承父类的构造方...

  • Flutter/Dart 类名关键字extends,mixin,

    1.继承 extends dart里的继承是单继承,即只能又一个父类 子类会继承父类所有非私有属性和方法 子类重...

  • Swift 5.1 (13) - 继承

    继承 继承是一种基本行为:子类继承父类方法,属性和其他特性。子类可以重写父类的方法,属性。继承将类与Swift中的...

网友评论

      本文标题:Java中子类能否继承父类的私有属性和方法

      本文链接:https://www.haomeiwen.com/subject/cejgqxtx.html