62,623
社区成员
发帖
与我相关
我的任务
分享class Base {
private String name = "base";
public Base() {
tellName();
printName();
}
public void tellName() {
System.out.println("Base tell name: " + name);
}
public void printName() {
System.out.println("Base print name: " + name);
}
}
class Dervied extends Base {
private String name = "dervied";
public Dervied() {
tellName();
printName();
}
public void tellName() {
System.out.println("Dervied tell name: " + name);
}
public void printName() {
System.out.println("Dervied print name: " + name);
}
}
public class OverrideTest {
public static void main(String[] args) {
new Dervied();
}
}
public class OverrideTest {
public static void main(String[] args) {
// new Dervied();
new Base();
}
}public class Test {
public static void main(String[] args) {
//用父类new一个子类的对象 ,
Base base = new Dervied();
}
}
class Base {
private String name = "base";
public Base() {
tellName();
printName();
}
public void tellName() {
System.out.println("Base tell name: " + name);
}
public void printName() {
System.out.println("Base print name: " + name);
}
}
class Dervied extends Base {
private String name = "dervied";
public Dervied() {
tellName();
printName();
}
public void tellName() {
System.out.println("Dervied tell name: " + name);
}
public void printName() {
System.out.println("Dervied print name: " + name);
}
}
那么控制台就会打印
Dervied tell name: null
Dervied print name: null
Dervied tell name: dervied
Dervied print name: dervied
public Dervied() {
tellName();
printName();
}和 public Dervied() {
super();
tellName();
printName();
}是相同的,只不过,只不过在代码中没有显示写出来。