接口的成员特点?
1、成员变量:成员变量只能是常量。并且是静态的。默认是public static final类型的。
2、成员方法:接口中的方法默认是抽象方法,接口修饰符默认是public abstract。写或不写都是一样的
3、构造方法:接口没有构造方法。
interface Inter{
//以下这三种方式不管怎么声明,都是静态常量static final
public int num = 10;
public final int num1 = 10;
public static final int num2 = 10;
//错误,接口是没有构造方法的
//public Inter(){}
//默认是public
abstract void show();
//默认是abstract
public void show1();
}
// 接口名+Impl:接口实现类的命名格式
class InterImpl implements Inter{
//所有的类都继承自Object。
//当你没有父亲的时候,继承的就可以是Object。Object是无参构造
public InterImpl(){
super();
}
//必须加public
public void show(){
}
public void show1() {
}
}
public class InterfaceDemo {
public static void main(String[] args) {
//接口多态
Inter i = new InterImpl();
System.out.println(i.num);
System.out.println(i.num1);
//i.num = 100; //报错,不可以被改变。默认是常量
//i.num2 = 100; //报错,不可以被改变
System.out.println(Inter.num); //通过接口名可以直接访问,说明num是静态的
}
}