接口--注意事项
1、接口不能被实例化
2、接口中所有的方法都不能有主体,例如
void stb ( ) { }; //{}代表主体
3、一个类可以实现多个接口。
4、接口中可以有变量[但变量不能用private 和 protected修饰]
还有
a、接口中的变量,本质上都是static的,不管你加不加static 修饰
b、在java开发中,我们经常把常用的变量,定义在接口中,作为全局变量使用,
访问形式:接口名.变量名
5、一个接口不能继承其他的类,但是可以继承别的接口
//接口实例
interface USB{
int a=1; //接口中可以有变量,本质上都是static final
// static final int a=1; 和上面定义一样
public void start();
public void stop();
}
//另一个接口
interface Oth{
}
//接口继承
interface Son extends USB{
//类不能继承接口
}
//一个重要原则:当一个类实现了一个接口。
//就要求该类把这个接口的所有方法统统实现
class Cemera implements USB,Oth{//可以使用多个接口
public void start(){
System.out.println("相机开始工作");
}
public void stop(){
System.out.println("相机停止工作");
}
}
class Phone implements USB{
public void start(){
System.out.println("手机开始工作");
}
public void stop(){
System.out.println("手机停止工作");
}
}
//利用计算机类,来使用相机以及手机
class Computer{
public void useUSB(USB usb){
usb.start();
usb.stop();
}
}
public class Test {
public static void main(String[] args){
//接口不能实例化,报错
//USB usb = new USB();
Computer computer = new Computer();
Cemera cemera =new Cemera();
Phone phone=new Phone();
computer.useUSB(cemera);
computer.useUSB(phone);
//使用int a 变量
System.out.println(USB.a);
}
}
输出:
相机开始工作
相机停止工作
手机开始工作
手机停止工作
1
接口--解决之道
就扣就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来、语法:
class 类名 implements 接口{
方法;
变量;
}
小结:
接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口立德所有方法都没有方法体。
接口体现可程序设计的多态和高内聚低耦合的设计思想。