[英]How to create constructor for a subclass
import java.util.*;
class A {
protected int n;
public A(int a) {
n = a;
}
protected int disp() {
return n;
}
}
class B extends A {
// what should i do here
}
public class Hello {
public static void main(String[] args) {
//Your Code Here
int a =5;
A obj= new B(a);
System.out.print(obj.disp());
}
}
您應該在B
類中執行以下操作:
class B extends A {
public B(final int a) {
super(a);
}
}
這里發生的事情是我們正在調用我們的父級 ( A
) 的構造函數
重要的是A
是使用其構造函數之一進行初始化的。 這是沒有必要的兒童類的構造函數B
匹配的構造函數的參數(S) A
。 因此,您可以在子類B
定義任何構造函數,但請確保在其中調用super( <some int> )
。
例如,即使以下也可以。
class B extends A {
public B(){ //Default constructor
super( 1 );
}
}
還,
B
有多個構造函數,則每個構造函數都必須調用super( <some int> )
。A
有多個構造函數,那么在子類構造函數中,通過super( <params> )
調用其中任何一個都可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.