接口





interface InterA     //接口A
{
	public abstract void show1();            //有方法,没有主体,不能实现
}
interface InterB     //接口B
{
	public abstract void show2();             //有方法,没有主体,不能实现
}

class InterfaceA_B implements InterA,InterB     //  接口继承
{
	public void show1()                       // 对show1()进行覆盖
	{
		System.out.println("InterA   show1 ...");
	}
	public void show2()                        // 对show2()进行覆盖
	{
		System.out.println("InterB    show2 ...");
	}
	public void show()
	{
		System.out.println("InterfaceA&B show");
	}
}
class InterfaceDemo
{
	public static void main(String[] args) 
	{
		InterfaceA_B in = new InterfaceA_B();
		in.show1();
		in.show2();
		in.show();
	}
}

接口的另外用法:

interface Inter                               //接口:只提供方法的入口而不具体的实现
{
	public abstract void show1();            //有方法,没有主体,不能实现
}
class Fu     
{
	public void show()
	{
		System.out.println("Fu show...");
	}             
}

<span style="color:#ff0000;">class Inter_Fu extends Fu implements Inte</span>r     
{
	public void show1()                      //     对接口方法的具体实现      
	{
		System.out.println("Interface   show1 ...");
	}
}
class InterfaceDemo
{
	public static void main(String[] args) 
	{
		Inter_Fu in = new Inter_Fu();
		in.show();
		in.show1();
	}
}

接口之前的相互继承和实现细节

//本例演示接口之间也可以相互继承和实现的细节
interface Inter1                              
{
	public abstract void show1();            
}
interface Inter2  extends Inter1  
{
	public abstract void show2();
	public abstract void show3();
}
 
class Inter1_2 implements Inter1,Inter2      
{
	//必须要实现接口程序中所有的抽象列接口
	public void show1()                      
	{
		System.out.println("Interface1   show1 ...");
	}
	public void show2()                    
	{
		System.out.println("Interface2   show2 ...");
	} 
	// 似然不需要show3的功能但是还是要实现其主体
	public void show3(){}
	
}
class InterfaceDemo
{
	public static void main(String[] args) 
	{
		Inter1_2 in = new Inter1_2();
		in.show1();
		in.show2();
	}
}

但是需要每个接口都要实现,但是又不用,相当的繁琐,代码的复用性很差,这时我们想到了覆盖的思想--没有抽象方法的抽象类,仅为创建inter接口的子类对象。



interface Inter     
 {
	public abstract void show1();
	public abstract void show2();
	public abstract void show3();
	public abstract void show4();
 }

 abstract class InterA implements Inter //没有抽象方法的抽象类
 {                                      //(该类不允许被创建对象,所以被限制为abstract)
	public void show1(){}
	public void show2(){}
	public void show3(){}
	public void show4(){}
 }

 class InterDemo extends InterA
 {
	 public void show1()
	 {
		System.out.println("InterDemo   show1....");
	 }
 }

class InterfaceDemo
{
	public static void main(String[] args)
	{
		InterDemo in = new InterDemo();
		in.show1();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值