❶ java父類調用子類變數
子類重寫父類的方法只要碼兄滿足幾個條件,方法名相同,修飾符和返回值范圍不比父類芹悄小即可。嫌模渣與方法體沒有任何關系
❷ java如何把基類對象賦值給派生類對象
樓主可以網路下 java繼承
你這里s.accpet()返回的是 socket類型的對象吧,這里肯定就報錯了
子類繼承於父類,你鏈喚可以這么理解 兒子是他爸爸生的,現在人家看上爸爸的一個特點,你用兒團卜子去冒充 肯定是不可以的,
再java 繼承里,子類繼承父類 子類可以調用父類的方法,也就是子類的特性一般比父類多,反過來收父類一般比子類少,現在你讓一個塌喚穗少的去代替一個多的做事情 肯定就會發生部分功能你沒有的情況,所以這里是不允許這么做的。
❸ java父類對象給子類對象賦值強制轉換後子類對象的屬性是怎麼一回事
代碼要寫在代碼首散陸塊者頃、方法裡面。
class c{
public static void main(String args[]){
a a1, a2=new a();
b b1.b2=new b();
b1=(b)a2;
System.out.println(b1.b);
}
}
但還不能用的掘李,因為
b1=(b)a2; /// a2本來是a的實例,轉換失敗。
❹ java里在父類里定義的成員變數如果在其兩個子類中給其賦不同的值賦值語句怎麼寫
classParent{
protectedinta;
publicParent(){
this.a=1;
}
}
classChild1extendsParent{
publicChild(){
//這里直接其賦
this.a=4;
}
//輸出
publicvoidprint(){
System.out.println("a="+this.a);
}
}
classChild2extendsParent{
publicChild(){
//這里直接其賦
this.a=8;
}
//輸出
publicvoidprint(){
System.out.println("a="+this.a);
}
}
❺ java如何在子類中賦值給父類的變數
使侍神用世孝super關鍵字就可以了,比如:
父類里的ele屬性
如果是public的直接super.ele="abc";
但如果是private的,並有set方法就調用set方法
super.setEle("abc"老返虧);
❻ Java子類和父類有相同的屬性 ,如何通過子類給父類的屬性賦值
直派啟亮接用son對象是不能塵寬給父類賦值的哦。你可以再Son類中添加一旁緩個方法:
publicvoidsetFatherA(Stringa)
{
super.setA(a);
}
然後就可以通過son.setFatherA("a");來給父類a賦值。
❼ 父類對象賦給子類對象與子類對象賦給父類對象
把子類對象賦給父類對象,這時候父類的COPY賦值操作符只負責處理子類對象中父類成分的COPY工作。
把父類對象賦給子類對象,一般情笑扮虛況下是不能成立的。除非你在子類中定義一個以父類對象為形參的子類構造函數,其實這一種變形的COPY構造函數,它還可以有其他參數用於構造子類對象之用碰燃。在此構造函數中構造一個臨時性的子類對象,然後再調用父類COPY賦值操作符完成賦值操作。
或缺森者,你在子類中定義一個參數是父類對象引用的COPY賦值操作符,把父類對象賦給子類對象的父類成分就OK了,至於說這時候子類對象的子類成分該怎麼辦,你自己妥善處理唄。
❽ java如何在子類里為父類屬性賦值
非private 的,可以使用super的。
樓主,你這個語句不是在方法中使用,不用這樣調用的。要在方法體內使用。如
//子類
public class Son extends father{
public Son(){
super.i=1; //給父類中i賦值
}
}
❾ java編程,如何在父類中聲明一個變數並在父類方法中使用,使得子類中必須賦值才能使用繼承來的方法
這旅中個你可以在父宴咐類Age中加個拆祥山判斷。
if(this.year!=null){
return this.year-1990;
}
return null;
❿ 新手被java父類子類傳值問題困擾,請懂的人解答一下困惑
父是不答叢能強轉成子的,類和介面都一樣,而且方法的返回實際上是返回的是類的對象,而睜帶不是返回介面。
你所看到的方法返回的是介面,實際上是方法返回了實現了該介面的類的對象。
拿你的Connector.open()方法來說,這個方法返回的類的對象可能悉舉蘆既實現了Connection介面,也實現了ServerSocketConnection介面。但是Connector.open()方法在定義的時候被定義為返回Connection介面,但實際返回的類的對象同時也實現了ServerSocketConnection介面,所以Connector.open()雖然返回的是Connection介面,但卻能被強轉為ServerSocketConnection。