다음 코드를 기반으로 상속 + 재정의 개념을 설명해야합니다. 나는 자바를 배우는 아주 새로운 오전으로 숙제 : Java에서 상속 + 오버라이드 설명
public class Item {
private String itemType;
private String serialNumber;
public Item(String serialNumber, String itemType) {
this.setItemType(itemType);
this.setSerialNumber(serialNumber);
}
public String getItemType() {
return itemType;
}
public void setItemType(String itemType) {
this.itemType = itemType;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public String printItem() {
return serialNumber + "," + itemType;
}
}
public class Ipad extends Item {
private int ram;
public Ipad(String serialNumber, int ram) {
super(serialNumber,"iPad");
this.setRam(ram);
}
public int getRam() {
return ram;
}
public void setRam(int ram) {
this.ram = ram;
}
public String printItem() {
return super.getSerialNumber() + "," + super.getItemType()+ "," + getRam() + " GB";
}
}
나는 실제로 무슨 설명하는 힘든 시간을 : 나는 더 많은 연습을 얻을 때까지, 내 자신에 각 라인을 주석, 그러나 지금까지하고있는 단계별로 단계적인 코멘트가 나를 파악하는 가장 좋은 방법 인 것 같습니다.
1) 아래의 코드 스 니펫은 어떻게됩니까? 나는 그것이 생성자라고 가정하지만 아래의 두 행은 무엇을합니까?
public Item(String serialNumber, String itemType) {
this.setItemType(itemType);
this.setSerialNumber(serialNumber);
2) 아래에서 어떻게됩니까? 두 개의 생성자가 있습니까? 제가 알고 있듯이 생성자를 재정의 할 수 없습니다. 슈퍼가 슈퍼 클래스에서 생성자를 호출하지만 새 ram 변수가 추가되었다고 가정합니다. 재정의되고 있지 않다면 이것은 생성자 체인이라고하는 것입니까?
public Ipad(String serialNumber, int ram) {
super(serialNumber,"iPad");
this.setRam(ram);
}
3) 무엇이 대체되고 있습니까?
4) 확장 키워드와 수퍼 키워드를 사용하는 것 외에 어떻게이 예제로 상속을 설명 할 수 있습니까?
질문마다 1 개의 질문을 제한하십시오. – Idos
죄송합니다. 압도적 인 표정으로 보입니다. :) –
여기에서 찾을 수있는 많은 답변이나 인터넷 검색 및 직접 입력하여 소스 코드를 사용해 보시기 바랍니다. 입력 할 때 상속의 개념과 제한을 시도하십시오. 예를 들어 파생 클래스의 기본 클래스에 대한 개인 메서드를 사용해보십시오. 컴파일되지 않습니다. 그럼 모두 시도해 보면 좋은 그림을 얻을 수 있습니다. 필요한 경우 기본 클래스를 변경하십시오. – efekctive