在Java里Jdk1.8 接口可以有方法体的main方法、default方法了


在JDK8中,接口也可以定义静态方法,可以直接用接口名调用。实现类和实现是不可以调用的。如果同时实现
两个接口,接口中定义了一样的默认方法,必须重写,不然会报错。

接口和抽象类的区别是什么
1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以
有非抽象的方法
2. 接口中的实例变量默认是 fifinal 类型的,而抽象类中则不一定
3. 一个类可以实现多个接口,但最多只能实现一个抽象类
4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定
5. 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说,抽象是对类的抽
象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
 
 
/**
 * jdk1.8 接口测试
 */
public interface InterTest {
    /**定义一个抽象方法*/
    public abstract void fun();

    /**接口写main方法*/
    public static void main(String[] args) {
        InterTest i=new interfaceImpl ();
        i.test();
    }
 
 /**定一个默认实现方法-子类可以不覆盖重写*/
    default void test() {
        System.out.println("hello world");
        fun();
    }
}


子类

class interfaceImpl  implements Intert{

    @Override
    public void fun() {
        System.out.println("实现接口中的抽象方法");
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM