多态

本文通过具体示例介绍了Java中接口的继承与实现机制,包括父接口与子接口的功能差异,以及如何通过不同类来实现这些接口,从而表现出多态特性。

假设现在存在一个父接口A和一个子接口B.

父接口A中有一个方法,子接口B中既有父接口的方法,又有自己的方法.

因此,如果实例化的是父接口,则只能调用父接口中的那个方法.

如果实例化的是子接口,则既能用父接口的方法,又能用子接口的方法.

 

 

需要注意的是:如果接口被多继承,

那么这个接口中的某个方法,其方法体是在不断变化的,

变化的内容由继承这个接口的子类决定.(如这里的funcB方法)

 

 

package prepare1;

interface A {// 父接口
	public void funcA();
}

interface B extends A {// 子接口

	@Override
	default void funcA() {
		System.out.println("父接口的方法");

	}

	public void funcB();//这个方法的内容实际上是一直被变化的

}

class C implements B {

	@Override
	public void funcB() {
		System.out.println("C类定义的子接口的方法");

	}

}

class D implements B {

	@Override
	public void funcB() {
		System.out.println("D类定义的子接口的方法");

	}

}

public class Test {
	public static void main(String[] args) {
		A a1 = new C();//实例化A接口对象
		B b1 = new C();//实例化B接口对象
		
		//A接口方法少,所以只能用一个
		a1.funcA();
		
		//B接口方法多,故既能用父接口的方法,也能用自己新定义的方法
		b1.funcA();
		b1.funcB();
		
		
		
		A a2 = new D();
		B b2 = new D();
		
		a2.funcA();
		
		b2.funcA();
		b2.funcB();
		

	}
}

  

转载于:https://www.cnblogs.com/ssC2H4/p/8529408.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值