接口

1、情景
A类既有B类全部成员也有C类全部成员,与继承的单根性矛盾,故引入接口。
2、语法

public interface  Myinterface(帕斯卡){
变量(默认:public static final)
方法 (public abstract)
}

3、特点
3.1接口没有构造方法,不可实例化,常做类型使用
与抽象类相似,不可new自己,new实现类
3.2实现类必须实现接口所有方法
继承父类=实现接口
3.3实现类可以实现多个接口(Java中的多继承)
关键字:implements(实现),多个接口用“,”隔开
3.4接口不能实现接口,可以继承多个其他接口
3.5实现类必须实现接口的所有方法,除非他是抽象类
4、理解
4.1接口是一种能力
接口是一种能力,体现在方法上,不关心具体对象。
接口是一种约定,标准。有的接口只有接口名。

package computer;

public class Computer {
	//安装CPU EMS HardDisk
	//属性
	CPU cpu;//可以拿到测试类创建的实际对象的成员
	EMS ems;
	HardDisk harddisk;
	//
	public void show(){
		cpu.brand();
		cpu.mainFrequency();
		ems.type();
		ems.capacity();
		harddisk.capacity1();
	}

	public CPU getCpu() {
		return cpu;
	}

	public void setCpu(CPU cpu) {
		this.cpu = cpu;
	}

	public EMS getEms() {
		return ems;
	}

	public void setEms(EMS ems) {
		this.ems = ems;
	}

	public HardDisk getHarddisk() {
		return harddisk;
	}

	public void setHarddisk(HardDisk harddisk) {
		this.harddisk = harddisk;
	}
}

package computer;

public interface CPU {
	public void brand();
	void mainFrequency();
}
package computer;

public interface EMS {
	void type();
	void capacity();
}
package computer;

public interface HardDisk {
	void capacity1();
}

package computer;

public class CPU1 implements CPU {
	
	public void brand(){
		System.out.println("英特尔");
	}

	@Override
	public void mainFrequency() {
		System.out.println("主频:2.2");

package computer;

public class EMS1 implements EMS {

	@Override
	public void type()  {
		System.out.println("内存类型:A");
	}

	@Override
	public void capacity(){
		System.out.println("内存容量:16G");
	}
}

package computer;

public class HardDisk1 implements HardDisk {

	@Override
	public void capacity1() {
		System.out.println("硬盘容量:1T");
	}

}
package computer;

public class Test {
	public static void main(String[] args) {
	Computer computer=new Computer();
	CPU cpu=new CPU1();//接口作为自定义CPU类型接收其实现类,实质是实现类CPU1,cpu是类型对象
	EMS ems=new EMS1();
	HardDisk harddisk=new HardDisk1();
	computer.setCpu(cpu);//传入CPU类型的对象cpu,为参数
	computer.setEms(ems);
	computer.setHarddisk(harddisk);
	computer.show();
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值