Ⅰ 在java中為什麼子類即使有構造器後,還有在構造器中調用父類的構造器
因為如果父類有私有成員變數的話,一般在父類的構造器中初始化,因為子類構造器無法訪問·父類的私有成員。也就是說繼承來的父類的部分就應該由父類構造方法來構造,子類構造方法就只構造屬於子類的那部分。所以即時你沒有顯式調用父類的無參構造方法,編譯器也會幫你加上,如果父類沒有無參構造方法,你又沒有顯式調用有參構造方法,就會報錯。
Ⅱ java構造函數中調用構造函數的問題
不是,因為你初始化(即new)的時候調用的是無參構造函數,所以先調用的是無參構造函數,只不過你在無參構造函數中有調用了有參構造函數(即this(1)),所以當無參構造函數還沒有執行到System.out.println("3
Default!!");時,有參構造函數先執行了System.out.println("3
NotDefault!!");所以在輸出是會出現「3
NotDefault!!」在"3
Default!!"之前的情況.
Ⅲ java怎麼在構造方法裡面調用另外一個構造方法啊,在線等,急
第三個 Students 不是構造方法,不能在其裡面調用另外的構造方法,正確如下:
classStudent{
intno;
Stringname;
intmath;
intjava;
intphy;
Student(intno,Stringname){
this(no,name,0,0,0); //調用構造方法
}
Student(intmath,intjava,intphy){
this(0,"",math,java,phy); //調用構造方法
}
Student(intno,Stringname,intmath,intjava,intphy){
this.no=no;
this.name=name;
this.math=math;
this.java=java;
this.phy=phy;
}
}
Ⅳ java中如何實現構造方法的調用
public class Util {
public String name;
public Util(){
System.out.println("無參構造方法..");
}
public Util(String name){
this.name = name;
System.out.println("有參構造方法.."+name);
}
public static void main(String[] args) {
Util u1 = new Util();
Util u2 = new Util("小明");
}
}
Ⅳ 在java中,子類構造器總會調用父類構造器,那麼子類構造器調用父類構造器為什麼只能調用一次呢
調用一次就夠了,每次子類需要實例化的時候,就會先調用父類的構造函數,默認是隱式調用,如果要在子類中顯式調用那麼在子類構造器中的第一行用super();就行了。。
Ⅵ 如何理解Java構造器中調用構造器
給你舉個例子吧:
JAVA的類是可以擁有多個構造函數的,所以:
packagecom.sxt.action;
publicclassApple{
Stringname;
Stringcolor;
Stringsize;
publicApple(Stringname){
this.name=name;
}
publicApple(Stringname,Stringcolor){
this(name);
this.color=color;
}
publicApple(Stringname,Stringcolor,Stringsize){
this(name,color);
this.size=size;
}
/*親愛的朋友,這是測試代碼O(∩_∩)O~*/
publicstaticvoidmain(String[]args){
Applea=newApple("紅富士","red","big");
System.out.println(a.name);
System.out.println(a.color);
System.out.println(a.size);
}
}
---------------------------------
也就是說,一個類的構造函數可以用this來調用這個類已經寫好了的構造函數。
這樣寫的好處在於:從程序中就可以看到,當創建這個類Apple的時候,可以自由的選擇傳入幾個構造參數。這在某些情況下是很方便的。
Ⅶ java里實例方法怎麼調用構造器,同一個類里
不能
你可以將構造器裡面的方法封裝在本類裡面的另外一個私有方法中,然後在其他方法調用的時候,調用這個私有方法。
例如:
public class A{
public A(){
init();
}
private void init(){
原構造方法中的
}
public void fun(){
init();
}
}
Ⅷ java中,子類構造器為什麼老是調用父類構造器
構造器是為了初始化才會有的。
什麼是初始化?就是說一些准備工作,我有那些屬性、方法,
子類繼承父類就是要使用父類里的東西(屬性、方法),但是怎麼才能知道父類里有什麼呢?
那就要先把父類初始化一下,然後父類就具有了相應的屬性和方法。
父類初始化完成了,表示具有一些東西了,這時候,子類才會初始化自己。
說的已經很明白了,採納哦。
Ⅸ java中怎麼在有參構造器調用無參構造器
系統不會在調用有參構造方法的時候自動調用無參構造方法。需要自己手工實現 1、在有參構造函數中調用無參構造函數 例如: public class TA{ public TA(){//定義無參構造函數 } public TA(int a){//定義有參構造函數 this();//調用無參構造函數 }}