接口类:初期理解,可以认为是一个特殊的抽象类
当抽象类中的方法都是抽象的,该类可以通过接口的形式类表示
class 用于定义类
interface用于定义接口
接口定义时,格式特点:
1.接口中常见定义:常量,抽象方法,接口中的成员都是public
2.接口中的成员都有固定修饰符
常量:public static final
方法:public abstract
接口:是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法都覆盖后才能创建对象,否则子类是一个抽象类
接口可以被类多试下,也是对多继承不支持的转换形式,接口可以被类实现
一个类继承一个类的同事还能实现多个接口
接口与接口之间继承关系,可以多继承
interface Inter
{
public static final int NUM=3;//去掉public static final可以自动补全
public abstract void show();//去掉// public abstract 可以自动补全
}
interface InterA
{
public abstract void show();
}
class Test extends Demo implements Inter,InterA
{
public void show(){}
}
class InterfaceDemo
{
public static void main(String[] args)
{
Test t=new Test();
System.out.println(t.NUM);
System.out.println(Test.NUM);
System.out.println(Inter.NUM);
}
}
interface A
{
void methodA();
}
interface B extends A
{
void methodB();
}
interface C extends B//当然了c可以多继承A,B
{
void methodC();
}
class D implements C
{
public void methodA(){};
public void methodB(){};
public void methodC(){};
}
例子
基本功能在父类中,扩展功能在接口中
abstract class Student//有的学生不抽烟,所以不能写进这里
{
abstract void study();
void sleep()
{
System.out.println("sleep");
}
}
interface Smoking//多个类可以使用
{
void smoke();
}
class ZhangSan extends Student implements Smokinng
{
void study(){};
public void smoking(){};
}