Java支持多继承吗?

Python015

Java支持多继承吗?,第1张

可以多继承接口,但是不能多继承普通类。\x0d\x0a类定义属性和方法 描述某一类事物的抽象 \x0d\x0a而接口定义的是行为 并不限于任何具体意向。 \x0d\x0a\x0d\x0a按照逻辑上来说 单继承更明确 一个子类就应该是其父类代表的事物中的某个更具体的类别 不应该即是这种东西又是那种东西 。\x0d\x0a而从实用角度上来说 单继承易读 易维护 语义清晰 逻辑清楚。 \x0d\x0a\x0d\x0a而接口则不同 接口只定义一些公共行为 比如有两个接口 一个定义了跑这个动作 另一个定义了走这个动作 人这个类就可以同时实现这两个接口所定义的行为 。\x0d\x0a\x0d\x0a类对接口的implements称作实现 不能叫做继承 。\x0d\x0a\x0d\x0a当然 接口可以多继承接口 因为接口只定义行为 并不包含类别的含义 不指代具体的某类事物 而且 从语义上来说 接口对接口的继承称之为扩展更为合适。

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:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

贡献及影响力:

Java 语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。由于提供了网络应用的支持和多媒体的存取,会推动Internet和企业网络的Web的应用。

另外,为了保持Java的增长和推进Java社区的参与,Sun公司在Java One开发者大会上宣布开放Java核心源代码,以鼓励更多的人参与到Java社团活动中。来自Java社团和IBM等全球技术合作伙伴两方面的支持,Java技术在创新和社会进步上继续发挥强有力的重要作用,并且随着其程序编写难度的降低使得更多专业人员将精力放置于Java语言的编写与框架结构的设计中。