关于接口的定义和使用,几点需要注意的问题

    xiaoxiao2025-06-14  22

    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的域含糊不清,同时注意到方法同名却没有报错:

    转载请注明原文地址: https://ju.6miu.com/read-1299937.html
    最新回复(0)