关于java子类创建对象时,父类做了什么的问题

A_Little_Whale A_Little_Whale 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码一:
public class Animal {
public String name = "animal";
public Animal(){
printInfo();
}
public void printInfo() {
System.out.println(name);
}

}
class Dog extends Animal{
public String name = "dog";

public void printInfo(){

System.out.println(name);
}
public static void main(String[] args) {
Dog dog = new Dog();
}
}
输出 : null

代码二:
public class Animal {
public String name = "animal";
public Animal(){
printInfo();
}
public void printInfo() {
System.out.println(name);
}

}
class Dog extends Animal{
public String name = "dog";

public void printInfo(){

System.out.println(super.name);
}
public static void main(String[] args) {
Dog dog = new Dog();
}
}
输出: animal
这是为什么呢? 我知道new子类对象的时候 不会去创建父类对象,只是调用父类的构造方法,但是为什么两段代码输出会不一样??
...全文

相关推荐

全面解析Java main方法

main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。这篇文章通过实例代码给大家介绍java main方法的相关知识,感兴趣的朋友跟随脚本之家小编一起学习吧

weixin_38741966

Java学习1-子类实例化时调用父类构造函数时this指向

Java学习1-子类实例化时调用父类构造函数时this指向 Java久疏战阵,重新拾起碰到了不少问题,以前的基础知识忘得差不多了,趁着不能出门多学习下。 子类通过new的形式实例化时,会调用父类的构造,那么此时在父类中的this关键字指向的是谁呢?通过实际代码来看看。 父类Animal public class Animal { private String name; ...

python5915

JAVA基础 之 父类引用指向子类对象(多态)

在弄懂桥接设计模式的时候,看到了这样一条语句Bridge bridge = new MyBridge();相关类:public class Bridge { private Sourceable source; public void method(){ } public Sourceable getSource() { return source; } public voi...

葛石北斋

构造函数的继承问题 笔记

子类如果有多个构造函数的时候,父类要么没有构造函数, 让编译器自动产生,那么在执行子类构造函数之前先执行编 译器自动产生的父类的缺省构造函数;要么至少要有一个显 式的缺省构造函数可以让子类的构造函数调用。

zzuysz

Java的对象、类、方法和接口[参考].pdf

Java的对象、类、方法和接口[参考].pdf

xhr131452007
评论 5
收藏 已收藏
分享
返回顶部
A_Little_Whale
Java SE 62,621 成员 307,251 内容