java中接口中成员的定义

java中的接口的作用是提供编程框架,它作为统一的规范让其他类进行扩展,是java中非常优秀的设计。

这娃用以下代码总结了java中接口可以定义的成员以及它们默认被修饰的关键字:

//外部接口的访问修饰符只能是public或默认修饰符 ,并且它的成员只能用public访问修饰符修饰, 接口不能用final修饰
public interface A {        
    //成员变量,默认用public static final 修饰
    String name="ahei";        
    
    //成员方法,默认用public abstract 修饰
    void abstractMethod();                
    
    //内部接口,默认用public static 修饰
    interface Interf{}
    
    //内部类,默认用public static 修饰
    class InnerClass{}
    
    //静态方法,默认用public修饰,接口中的静态方法不能用final修饰
    static void staticMethod(){}
    
    //默认方法,可提供方法实现,作为库、框架向前兼容的手段
    default void defaultMethod(){        
        System.out.println("haha");
    }
    
    public static void main(String[] args){
        //以下说明接口中的类成员和接口成员都是默认用static修饰的        
        new A.Interf() {
        };
        new A.InnerClass();
        
        //静态方法的调用在编译期就已经确定,由声明的类型决定
        C c=new D();
        c.set();   //输出C
        
        //默认方法通过对象调用
        new F().defaultMethod();    
    }
}

//静态方法也能重写,不过它们属于各自的类,不会有运行时多态
class C {
    static void set() {
        System.out.println("C");
    }
}

class D extends C {
    static void set() {
        System.out.println("D");
    }
}

class F implements A{
    @Override
    public void abstractMethod() {}
}

java的接口中还可以定义枚举类,并且接口中的静态方法和默认方法是java8新增的,默认方法可为接口提供新的功能,并且不影响老版本代码的实现,保证了向前兼容。

 

转载于:https://www.cnblogs.com/aheiabai/p/5868078.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值