1、在接口中定义的成员变量:变量默认属于public static final类型,也就是静态不可修改的变量,即为常量了,下面几种写法都可以,java在编译时会统一处理成public static final类型,看做常量
(public static final)int num = 25; public int num = 25; final int num = 25; static int num = 25;2、接口中说明的就是接口内的成员,包括变量和方法。方法默认属于public abstract类型,即默认为 抽象方法
(public abstract) void print1();3、接口示例:
interface Inter1 { int a1 = 13; void print1(); }4、接口的继承
interface Inter1 { int a1 = 13; void print1(); } interface Inter extends Inter1 { int a = 12; void print(); }5、若接口中出现同名方法,同名变量,无妨,会覆盖为一个
public class Test1 { public static void main(String[] args) { Inter i = new Demo();//接口引用指向子类对象(编译看左 //边,运行看右边) i.print(); } } interface Inter extends Inter1 { int a = 12; void print(); } interface Inter1 { int a = 13; void print(); } class Demo implements Inter{ public void print() { System.out.println("Hello!"); System.out.println(a); } }输出:
6、若一个方法实现两个接口,那么这两个接口中不能出现同名的成员变量,如下会出现错误:
public class Test1 { public static void main(String[] args) { Inter i = new Demo(); i.print(); } } interface Inter { int a = 12; void print(); } interface Inter1 { int a = 13; void print(); } class Demo implements Inter,Inter1{ public void print() { System.out.println("Hello!"); System.out.println(a); } }显示a的域含糊不清,同时注意到方法同名却没有报错: