我將如何創建一個類的實例以用作另一個類中的屬性?我相信這是我需要做的:如何創建類的實例並在子類中實現它?
ClassA a1 = new ClassA(); // ClassA is the super class
這是我卡住,如果我上面的代碼是正確的。我如何在ClassA的子類中實際使用它,比如說ClassB?因此,如果ClassA具有「名稱」和「年齡」,而ClassB具有「承租人」,那麼爲了給租戶姓名和年齡,我需要做些什麼?
我將如何創建一個類的實例以用作另一個類中的屬性?我相信這是我需要做的:如何創建類的實例並在子類中實現它?
ClassA a1 = new ClassA(); // ClassA is the super class
這是我卡住,如果我上面的代碼是正確的。我如何在ClassA的子類中實際使用它,比如說ClassB?因此,如果ClassA具有「名稱」和「年齡」,而ClassB具有「承租人」,那麼爲了給租戶姓名和年齡,我需要做些什麼?
如果ClassB extends ClassA
然後ClassB
將繼承所有的ClassA
屬性。下面是一個簡單的例子:
public class ClassA {
private String name;
private int age;
public ClassA(String name, int age)
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int ageGetAge() {
return age;
}
}
public class ClassB extends ClassA {
private String tenant;
public ClassB(String name, int age, String tenant) {
super(name, age);
this.tenant = tenant;
}
public String getTenant() {
return tenant;
}
}
對於這些類,如果你創建在你的程序的某些部分ClassB
對象,你就可以調用的方法getName()
和getAge()
因爲ClassB extends ClassA
。
public static void main(String[] args) {
ClassB object = new ClassB("me", 0, "you");
System.out.println(object.getName());
System.out.println(object.getAge() + "");
System.out.println(object.getTenant());
}
這段代碼將輸出以下內容:
me
0
you
還有的要對這個取決於多種變量是否protected
,private
,或者public
方式略有不同。我會建議閱讀更多關於知名度等。
祝你好運。
如果B類延長A級,那麼你就可以自動只要在一個類中聲明時
你可以做classBInstance.name = "bob";
以及他們是不是私人的訪問B類的名字和年齡元素B類繼承自A類,因此在B類的構造函數中,您使用Super()調用超類的構造函數,然後當您想要從子類中的超類中使用屬性時,只需使用super,那麼super .getAttribute()例如
您可以使用類和subclasse的想法s,並且使用受保護字段:
public class ClassA {
protected String name;
protected int age;
public ClassA(String name, int age) {
this.name = name;
this.age = age;
}
}
public class ClassB extends ClassA {
private String tenant;
public ClassB(String name, int age, String tenant) {
super(name, age);
this.tenant = tenant;
}
public static void main(String[] args) {
ClassB b = new ClassB("Carol", 23, "some tenant");
String tenant = b.tenant;
int age = b.age;
String name = b.name;
}
}
https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html – GriffeyDog
你已經得到了四個答案,沒有投票或接受任何 - 爲什麼? –