java不能继承,哪些java类不能被继承
Java只支持单一继承,不允许多重继承。单一继承意味着一个类只能有一个父类,多重继承意味着一个类可以有多个父类。
如何解决写爬虫IP受阻的问题?立即使用。
Java可以有多级继承,即一个类可以继承一个类的子类。比如B类继承A类,C类可以继承B类,那么C类也间接继承A类。
子类可以继承父类的所有成员变量和方法,但是子类永远不能继承父类的构造方法。在子类的构造方法中,可以使用语句super(参数表)调用父类的构造方法。
定义类属性和方法并描述某类事物的抽象。
从逻辑上讲,单继承更显式。子类应该是父类所代表的更具体的一类东西,不应该既是这种东西又是那种东西。
从实用的角度来看,单继承易于阅读和维护,语义和逻辑清晰。
多继承造成的问题。钻石危机:
foo()
/\
/\
B foo() C foo()
\ /
\ /
D foo()假设A类中有一个公共方法fun(),那么B类和C类同时继承A类,B类或C类分别覆盖fun()。这时D类通过多重继承同时继承B类和C类,导致了钻石危机。程序运行时如何判断对应的方法fun()。
A级
public void foo(){
}
}
B类扩展了A{
public void foo(){
}
}
C类扩展了A{
public void foo(){
}
}
//此处不允许。
公共类D扩展了B,C{
public void foo(){
}
}(1)如果一个子类继承的多个父类中存在同名的实例变量,那么子类在引用该变量时就会产生歧义,无法判断应该使用哪个父类的变量。
(2)如果你在一个子类继承的多个父类中有相同的方法,并且该方法是否被子类覆盖,那么在调用方法时就会出现歧义,无法判断应该调用哪个父类的方法。以上是java不多继承的原因的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。