java关于多继承和单继承

面试官说:java怎么实现多继承? 答:java不允许,不允许,不允许多继承。

面试官:我就是要实现多继承? 答:好吧,行。

首先要区分一下三个概念: 单继承 多级继承 多继承

1.单继承

java两个类之间可以有继承关系。 在多个类的情况下,一个类作为子类,它的的父类只有一个;同时,一个类作为父类,它的子类有很多个。

2.多级继承

发生在java3个及3个以上的类之间。 a类继承b类,b类继承c类,… 这样成一条长链,a类就可以实现多级继承,可以继承b类、c类、…

3.多继承

多继承在java概念上不允许,但是为了弥补不足,java也有了接口概念,弥补java不能实现多继承的缺陷。 多继承实现的方法有三种:多级继承,实现接口,内部类。 这里不多介绍多级继承和实现一个或多个接口。

    内部类的介绍地址: 内部类介绍:常用类(一)内部类
class Call {
	public void callSomebody(String phoneNum){
		System.out.println("我在打电话喔,呼叫的号码是:" + phoneNum);
	}
}
class SendMessage {
	public void sendToSomebody(String phoneNum){
		System.out.println("我在发短信喔,发送给 :" + phoneNum);
	}
}
public class Phone {
	private class MyCall extends Call{
		
	}
	private class MySendMessage extends SendMessage{
		
	}
	
	private MyCall call = new MyCall();
	private MySendMessage send = new MySendMessage();
	
	public void phoneCall(String phoneNum){
		call.callSomebody(phoneNum);
	}
	
	public void phoneSend(String phoneNum){
		send.sendToSomebody(phoneNum);
	}
	
	public static void main(String[] args) {
		Phone phone = new Phone();
		phone.phoneCall("110");
		phone.phoneSend("119");
	}
}

这样就实现了callSomebody(String phoneNum) 和sendToSomebody(String phoneNum)这两个方法的功能呢。

    优点:包装了内部类,实现了多继承。 不足:此类为内部类的包装,一般在公司不太适用,不能满足大多数开发需求,毕竟创建的一个类里有多个类。
经验分享 程序员 微信小程序 职场和发展