一、定义
简单的说,接口就是一种被规范的标准,只要符合这个标准都可以通用,接口的表现
在于对行为的抽象。 就好比插座,每个厂商生产的插座我们都可以用,这是因为他们
有同一个标准,这里插座就是接口。
二、接口定义格式
必须重写接口中的所有方法,不想重写则可以是抽象类(加上abstract)
但是子类继承了该抽象类必须重写接口中的方法。
接口中的成员变量必须赋值
如下代码:
interface Inter{
int num = 10;
public abstract void print();
public void sleep();
}
实现接口:
public class Demo8_interface {
public static void main(String[] args){
Inter i = new demo1();
i.print();
i.sleep();
}
}
/**
接口的方法都是抽象的,子类必须全部重写方法
实例化用多态
成员变量只能是常量,默认修饰符public static final
成员方法只能是抽象,默认修饰符public abstract
接口没有构造方法
* */
interface Inter{
int num = 10;
public abstract void print();
public void sleep();
}
class demo1 implements Inter{
public void print(){
System.out.println("hello world"+num);
}
public void sleep(){
System.out.println("睡觉");
}
}
接口和接口之间是继承关系,并且一个类可以实现多个接口
比如:
public class Demo9_interface {
public static void main(String[] args){
demo2 d = new demo2();
d.printa();
d.printb();
}
}
interface A{
public void printa();
}
interface B{
public abstract void printb();
}
//接口和接口是继承关系,可单可多
interface C extends A,B{
}
//可以实现多个接口
class demo2 implements A,B,C{
public void printa(){
System.out.println("interfaceA");
}
public void printb(){
System.out.println("interfaceB");
}
}
三、类和接口
类和类之间是继承关系
接口和接口之间是继承关系
类和接口之间是实现关系(类实现接口)
四、java接口的意义
- (1)重要性:在Java语言中,abstractclass和interface是两种支持抽象类定义的机制。正因为有了这两种机制,所以Java具有强大的面向对象能力。
- (2)简单易行、规范:如果一个项目比较庞大,那么需要一个架构师来定义一些主要的接口,它不仅告诉开发人员您需要实现那些业务,还限制了命名规范(防止某些开发人员随意命名,使其他程序员看不懂)。
- (3)维护,扩展:例如有一个类,它实现了某个功能,突然有一天发现这个类无法满足它的要求,于是重新设计它,更糟的是,你可能会放弃这个类,然后在别处引用它,这样修改起来也很麻烦。