❶ 在java里為什麼一個子類不能同時繼承兩個以上的父類
解釋的不是很專業
就是java里規定得是:單繼承,多實現。
指的就是只能繼承一個父類,可以實現多個介面
通俗點說:單繼承就好比是一個人只能有一個親生父親
而不可能有兩個
繼承就是使子類具有父類的
屬性,和方法
假如有兩個父類:
//父類1
public class Person{
private String name;
private String id;
//有參構造方法
public Person(Person1 person){
}
}
//父類二
private class Teacher{
private String name;
private String id;
//有參構造方法
public Teacher(Teacher teacher){
}
//子類
public class Student{
}
那麼當子類繼承了這兩個父類的話,當調用構造方法時,
會找不到你調用的是那個,即出現沖突。
❷ JAVA 中一個子類可不可以繼承多個父類如果能,怎麼表示
java不支持多繼承。因為多繼承有背面向對象編程。但是可以繼承多個介面。sun公司設計java的時候原則上不允許程序員多繼承,但是還是開了個後門,你可以再一個類中寫上一個或多個內部類,再讓其他類來繼承他,變相的也是多繼承了。但是不建議這么做,非常影響程序的可讀性,而且內部類處理起來不方便。
❸ java 可不可以繼承多個類
1,java 是不可以繼承多個類,java是單繼承的,但是java 通過 介面可以實現多繼承
2,也就是說, 一個java類只能繼承一個父類, 但可以有多個介面.
3,若子類繼承的父類中擁有相同的成員變數,子類在引用該變數時將無法判別使用哪個父類的成員變數。如:
public class classA // 父類 classA
{
private int num = 0;
}
public class classB // 父類 classB
{
private int num = 1;
}
public class classC extends classA,classB // 子類 classC 繼承於 classA 和 classB
{
public static void main(String [] args)
{
classC obj = new classC();
obj.print(); // 調用父類成員變數 num , 那 num 等於 0 還是 1 ?
}
public void print()
{
System.out.println(super.num);
}
}
2.若一個子類繼承的多個父類擁有相同方法,同時子類並未覆蓋該方法(若覆蓋,則直接使用子類中該方法),那麼調用該方法時將無法確定調用哪個父類的方法。如:
public class classA // 父類 classA
{
public void fun()
{
System.out.print("hello");
}
}
public class classB // 父類 classB
{
public void fun()
{
System.out.print("hello");
}
}
public class classC extends classA,classB
{
public static void main(String [] args)
{
classC t = new classC();
t.print();
}
public void print()
{
super.fun(); // 調用父類中 fun 方法,但由於classA、classB都有fun()方法,將無法確定使用
// 哪個父類中的方法
}
}
因此,Java僅允許單繼承,即一個子類只能繼承於一個父類。但為了拓展子類的功能,Java使用介面以克服不使用多繼承帶來的不足。
介面是一個特殊的抽象類,介面中成員變數均默認為 static final 類型,即常量,且介面中的方法都為抽象的,都沒有方法體。
資料來源:http://blog.sina.com.cn/s/blog_6ed1419201013x47.html
❹ Java為什麼不能繼承多個父類
解釋的不是很專業
就是java里規定得是:單繼承,多實現。
指的就是只能繼承一個父類,可以實現多個介面
通俗點說:單繼承就好比是一個人只能有一個親生父親
而不可能有兩個
繼承就是使子類具有父類的
屬性,和方法
假如有兩個父類:
//父類1
public class Person{
private String name;
private String id;
//有參構造方法
public Person(Person1 person){
}
}
//父類二
private class Teacher{
private String name;
private String id;
//有參構造方法
public Teacher(Teacher teacher){
}
//子類
public class Student{
}
那麼當子類繼承了這兩個父類的話,當調用構造方法時,
會找不到你調用的是那個,即出現沖突。
❺ java中如何繼承多個父類,如何實現多個介面
java中沒有多繼承(就是不能繼承多個父類),只有多重繼承。。比如:
class A{
}
class B extends A{
}
class C extends B {
}
可以實現多個介面,比如:
interface A{
}
interface B{
}
class C implements A, B
{
}
❻ java中一個子類可以有多個父類,並可以為一個類定義多個子類
java中一個子類可以有多個父類,這是不正確的,因為當初始化的時候,就很難確定父類是哪一個
❼ java中一個類可以有幾個父類
Java類只支持單繼承,不支持多繼承。也就是說只可以有1個父類。
但是介面可以多繼承。介面可以有多少父類。
類與類
繼承,單繼承
類與介面
實現,單實現,多實現
介面與介面
繼承,單繼承,多繼承
❽ 一個java類可以有多個父類
必須可以啊,子類可以有無限多個,根據需要寫,所有的類都是object的子類。雖然子類只能繼承一個父類,但是可以另外實現多個介面
❾ java中一個子類可以有多個父類
Java是單繼承,一個子類只能有一個父類,但能實現多個介面。
❿ 一個Java類可以有多個父類誰知道是對還是錯
應該是對的
一般都講:「單繼承,多介面」
對於類而言,只能繼承一個父類,而可以實現多個介面
對於介面而言,繼承不是單繼承的,可繼承多個介面