目录
一、接口:
1、接口的特性:
(1)接口不可以new 对象
(2)接口中只能有抽象方法 没有具体实现
(3)接口中的属性都是静态常量
(4)实现类 可以实现多个接口
(5)接口中的所有方法实现类必须全部实现 因为所有方法都是抽象方法
2、接口的实现步骤:
(1)接口类:
public interface MyInterface1 {
//定义抽象方法
//在今后开发过程中 所有接口中的方法都是这样定义的public int deleteUser(int id);省略了abstract
public abstract void addUser();
public int deleteUser(int id);
//静态常量
public static final int MAX_ID=100;
//如果不写public static final 系统会默认给我们加上
int MIN_ID=10;
}
public interface MyInterface2 {
public void updateUser();
}
(2)实现接口类:
/**
* 之前继承是写extends 而接口是写implements
*/
public class InterfaceImpl implements MyInterface1{
@Override
public void addUser() {
}
@Override
public int deleteUser(int id) {
return 0;
}
}
(3)测试类:
/**
* 测试类
*/
public class Test {
public static void main(String[] args) {
//调用惊涛常量不需要new对象
System.out.println(MyInterface1.MAX_ID);
/**
* 调用InterfaceImpl当中的方法
* 1、创建对象 创建对象有两种方式
* (1)实现类 变量名=new 实现类();
* (2)接口 变量名=new 实现类();开发过程中使用
*/
//方法1:
InterfaceImpl i=new InterfaceImpl();
i.addUser();
i.deleteUser(1);
i.updateUser();
//方法2:只能调用 接口(MyInterface1)中的方法
MyInterface1 s1=new InterfaceImpl();
s1.addUser();
s1.deleteUser(2);
}
}
二、练习:
练习1:
(1)接口
public interface UsbInterface {
public void service();
}
(2)实现接口
/**
* 风扇
*/
public class UsbFan implements UsbInterface{
@Override
public void service() {
System.out.println("风扇开始转动了");
}
}
/**
* 鼠标
*/
public class UsbCursor implements UsbInterface{
@Override
public void service() {
System.out.println("鼠标可以点击啦");
}
}
/**
* U盘
*/
public class UsbFlash implements UsbInterface{
@Override
public void service() {
System.out.println("U盘可以使用了");
}
}
(3)测试类
/**
* 测试类
*/
public class Test {
public static void main(String[] args) {
//创建对象
UsbInterface s1=new UsbFan();
s1.service();
}
}
练习2:实现防盗门问题
代码:
(1)Door抽象类:
(2)Lock接口
(3)防盗门类 TheftproofDoor
(4)测试类
练习3:
(1)墨盒和纸张接口类
(2)墨盒纸张接口实现类
(3)print打印类
(4)测试类