얘들이 예제의 출력은 오는 방법을 나에게 설명해주십시오 수 있습니다이 상속 Java 프로그램의 출력을 설명 하시겠습니까?
Exam1
This is Tennis Shoes
derived class
This is a white Tennis Shoes is created
우리가 White Tennis Shoes
의 객체를 생성하고 무슨 일 이후 정확히 무슨 일이 있었는지 나에게 설명 할 수있는 경우. 제발 들으십시오. 숙제 나 제 시험을 준비하고있는 것을 제게 말하지 마십시오. 저는 이것이 오래된 질문입니다.
코드
은 다음과 같습니다 : 자바의 클래스에서 호출 부모 생성자를 지정하지 않으면class Shoes{
public Shoes(){
this("you have created a shoes Object");
System.out.println("This is the base class");
}
public Shoes(String s){
System.out.println(s);
}
}
class TennisShoes extends Shoes{
public TennisShoes(){
this("This is Tennis Shoes");
System.out.println("derived class");
}
public TennisShoes(String s){
super("Exam1");
System.out.println(s);
}
}
class WhiteTennisShoes extends TennisShoes{
public WhiteTennisShoes(String s){
System.out.println(s);
}
}
class ConstructorPrintingTester{
public static void main(String[] args){
WhiteTennisShoes shoesObj;
shoesObj = new WhiteTennisShoes("This is a white Tennis Shoes is created");
}
}
숙제 이건 아니건 상관없이, 먼저 무슨 일이 일어나는지에 대한 해석을 내리지 않겠습니까? –
'this ("xxxx")를 호출하면 현재 생성자 내부에 또 다른 생성자가 호출되어 15 분 후에 생각을 멈추게했다는 것을 알지 못했습니다! Phihag 덕분에 지금은 정말 분명합니다. 나는 그가 도움이되는 방법을 좋아합니다. –
또한 나는'super()'생성자를 호출 할 때 Java가 나를 위해 생성자를 생성한다는 사실을 완전히 잊었다. 그래서 이것이 결과물에서 실제로 이해할 수없는 이유입니다. –