java class继承例子-python3 class继承
发布时间:2023-03-24 10:07 浏览次数:次 作者:佚名
一、Java语言特点
Java是一种简单、面向对象、分布式、易读、鲁棒、安全、结构明晰、可移植、高性能、多线程、动态的语言。
二、Java为什么不支持多继承?
多继承:指一个子类同时继承多个父类,从而具备多个父类的特征
多继承会造成
1、若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量
2、若一个子类继承的多个父类拥有相同方法java class继承例子,同时子类并未覆盖该方法(若覆盖,则直接使用子类中该方法),那么调用该方法时将无法确定调用哪个父类的方法。
Java为了简单,废弃了C++中非常容易混淆的多继承等特性。
三、Java实现“多继承”的三种方式
上面提到的Java不可以多继承特指类,而Java的多继承机制可以通过多层继承、内部类以及接口来实现
多层继承:实际就是多个单继承累积,最下面的子类可以具备前几个父类的特征java class继承例子,但这样的多继承会造成代码冗余,可读性较差,一般的开发同学都不会这样浪费时间。
内部类:通过成员内部类实现多继承,代码示例如下
class dota {
private String str = "let's play some dota";
public void play() {
System.out.println(str);
System.out.println("好呀好呀");
}
}
class lol {
private String str2 = "let's play some lol";
public void play() {
System.out.println(str2);
System.out.println("不约");
}
}
class player {
class dotar extends dota {
public void play() {
super.play();
}
}
class loler extends lol {
public void play() {
super.play();
}
}
public void play() {
dotar d = new dotar();
d.play();
loler l = new loler();
l.play();
}
}
public class MultiExtendTest1 {
public static void main(String[] args) {
player p = new player();
p.play();
}
}
接口:多继承机制实现优先使用接口,接口使用比较灵活,在企业级项目编程是最推荐的方式,示例代码:
interface Dota{
void play();
}
interface Lol{
void play();
}
interface test extends Dota,Lol{
void sayhi();
}
class Player implements test,Dota,Lol{
public void play(){
System.out.println("let's play some dota");
}
public void sayhi(){
System.out.println("hi");
}
}
public class MultiExtendTest2{
public static void main(String[] args) {
Player p=new Player();
p.play();
p.sayhi();
}
}
接口注意事项: