java接口的好处 例子_JAVA接口

JAVA接口

1.什么是接口

接口在java编程语言中是一种抽象的类型,是抽象方法的集合,接口主要用interface来声明,一个类通过继承接口的方式,从而来继承接口的抽象方法。接口不是类,它只包含类要实现的方法。如果实现某个接口的类是抽象类,那么这个类要定义接口中所有的方法。接口无法被实例化,但是可以被实现,一个实现接口的类,必须实现接口内所描述的所有方法,否则必须声明为抽象类。

2.接口与类之间的关系

1.类与类之间:继承关系,只能是单继承,可以多层继承。

2.类与接口之间的关系:实现关系,可以单实现,也可以多实现。并且还继承一个类的

同时实现多个接口。

3.接口与接口之间的关系:继承关系,可以单继承,也可以多继承。

3.接口的特性

1.接口不可以被实例化

2.实现类必须实现接口的所有方法

3.实现类可以实现多个接口

4.接口中的变量都是静态常量

8bd9234d7a60682e1c97d20bd10d7bc7.png

4.接口的优点

1.因为继承的实现原理决定了他只能被单继承,但是可以多重继承,但是如果出现某些内容在多个父类当中,这样修改起来相当麻烦。使用接口,可以做到立刻实现,立刻使用。不需要实现时,直接移除此接口就可以了。非常的方便。

2.父类引用指向子类对象

3.更容易实现搭建程序的框架

4.更容易实现切换

5.接口与抽象类之间的相同点与不同点

相同点:

1.都是代表系统的抽象层

2.都不能被实例化

3.都能包含抽象方法

不同点:

1.在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法,抽象类便于复用,接口便于代码维护

2.一个类只能继承一个直接的父类,但可以实现多个接口

6.接口代码实例

实例1

public class Security extends Door implements CatEye, Fireproofing {

@Override

public void openCat() {

System.out.println("打开猫眼");

}

@Override

public void closeCat() {

// TODO Auto-generated method stub

System.out.println("关闭猫眼");

}

@Override

public void fireproofing() {

// TODO Auto-generated method stub

}

@Override

public void noFireproofing() {

// TODO Auto-generated method stub

}

}

实例2

/**

* 计算机类

*

* @author Administrator

*

*/

public class CP {

private Cpu cpu;

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;

}

private EMS ems;

private HardDisk hardDisk;

public CP(Cpu cpu, EMS ems, HardDisk hardDisk) {

super();

this.cpu = cpu;

this.ems = ems;

this.hardDisk = hardDisk;

}

public CP() {

super();

// TODO Auto-generated constructor stub

}

public void show() {

System.out.println("电脑的cpu是:" + getCpu().getCpuBrand() + "主频是:" + getCpu().getFrequency());

System.out.println("硬盘容量是:" + getHardDisk().getHardDisk());

System.out.println("内存的容量是:" + getEms().getEms());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值