java继承
来源:互联网 发布:买被褥淘宝好还是超市 编辑:程序博客网 时间:2024/06/14 02:05
本来觉得对java的继承已经掌握了,但是今天看代码时心生疑惑,这才知道自己心里还是有疑惑的,并没有掌握吧。
有的人说,从书上看到子类继承父类,子类拥有父类所有的属性和方法,但是自己实践子类并不能访问父类的私有属性和私有方法,而只是可以通过父类的public方法访问父类的私有属性,但是分析了内存发现:子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性和方法,两者合起来形成一个子类的对象(对于我这个初学者,我并不知道是怎么分析的,知道的希望能指点一下)。最终结论是:子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但是不能直接使用,所谓的子类对象只能继承父类非私有的属性和方法的说法是错误的,可以继承,只是无法访问到而已。
附上我写的代码:
可以看到私有变量无法访问,当然这没有什么可不明白的。
当然可以可以通过public方法来访问私有变量,与此问题无关的是可以看到,重写toString,直接输出对象和对象的toString效果是一样的。
通过上述,既然可以赋值得到私有变量的内容,那必然是子类中确实拥有此私有属性。
说来说去,看来看去,继承到底是什么意思呢?看到网友这样说的:
继承这个词理解上让人费解
父类的私有属性和私有方法一直都在那
只是子类没有直接使用的权利
按照继承的意思是看能不能直接使用父类方法的话
子类没有继承父类的私有方法和私有属性
之所有有些人说继承了
是因为子类可以间接使用父类的私有属性和私有方法
但是从可见性上解释是说不通的
关键看你怎么理解继承这个词
我倾向于直接使用父类方法和属性这个解释
所以不纠结这个问题了,既然知道了事实,明明白白去用就好了。
- Java继承
- JAVA-继承
- java 继承
- Java继承
- Java 继承
- JAVA继承
- java继承
- java/继承
- java 继承
- java继承
- java继承
- JAVA-继承
- Java继承
- java 继承
- JAVA 继承
- 【继承】 JAVA
- Java继承
- Java继承
- juqery cookie操作
- Objective-C Doxyfile
- myeclipse安装svn插件的多种方式
- linux shell 中文件编码查看及转换方法
- Spring AOP编程(XML实现)
- java继承
- ViewStub用法
- SQL Server 历届版本新特性
- 浏览器内部工作原理
- rem 产生的小数像素问题---修复响应式开发
- 《编程之美》——队列中取最大值操作的问题
- CentOS下安装XAMPP详细教程
- linux 操作日记
- What are the continuous bag of words(CBOW) and skip-gram?