关于Java继承
前阵子无意间看见一篇博文写到:子类继承父类,子类对象创建的同时会创建一个父类对象。
顿时感觉在JVM中的对象就像天上的星星一样多,作为一门这么火爆的语言按理说不会如此设计(事实也是不会这样设计)。
之前看的书都说:子类创建对象的时候会默认调用父类的构造方法,但是并没有创建一个对象,创建一个对象需要有一个new的过程。想过通过对象的Hashcode来比较,但是hashcode一样不一定代表两者是同一个对象,因此并不足以证明。
因此我在Stackoverflow上搜索“子类创建对象的同时创建一个父类对象”(借用翻译然后再搜索)
其中的一个回答感觉还是比较能说得通的:
class A {
public static A super_var;
public A() {
super_var = this;
System.out.println("Constrcutor of A invoked");
}
}
class B extends A {
public static A sub_var;
public B() {
sub_var = this;
System.out.println("Constructor of B invoked");
}
public void confirm() {
if (sub_var == A.super_var)
System.out.println("There is only one object is created");
else
System.out.println("There are more than one object created");
}
}
public class InheritTest {
public static void main(String Args[]) {
B x = new B();
x.confirm();
}
}
虚虚实实,需要学习的还有很多,欢迎指点拍砖砸人。
Have a nice day~
分享到:
相关推荐
关于Java继承性的探讨
这个对于初学都很有帮助的,不懂的可以来看看。这是我做JAVA的经验之谈。
本人研究Java有段时间了,现在把Java实现继承实例的代码上传,希望共同交流 qq 418586040
java继承学习教案.pptx
java继承作业.pdf
java 继承泛型类示例 java 继承泛型类示例 java 继承泛型类示例
6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip6.java继承的概念.zip...
7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip7.java继承的语法.zip...
java 继承和多态PPT教程
java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学java继承课件,主要用于初学者自学
java_中关于_继承_的一个小例子,java_中关于_继承_的一个小例子.rar
自己设计的一个程序,展现有继承结构的子类对象的初始化过程(包含构造方法、初始化值、父类构造方法、父类的初始化值的环节)
第一次传东西,大家多多支持呀。一本部分java继承的课件
java 继承 程序 学习java 必须要学习的知识,搞懂了 你java就入门了
Java中的继承作为Java面向对象三大特性之一,在知识点上而言,还是很多的,而且java的继承与覆盖基本是java笔试中常出的题,也比较绕,下面欧#柏泰#克和大家一起来学习下JAVA继承的相关知识点吧:
Java 继承知识点的相关学习。
java继承例题
java继承 对象类型的转换 实例代码java继承 对象类型的转换 实例代码java继承 对象类型的转换 实例代码
刚开始学,需要简单题目加深对概念的理解
非常适合初学者的java继承学习 很经典因为我也是初学者!哈哈