接口和拓展

本文详细介绍了Java中的接口特性,包括接口中属性的默认修饰、方法的定义、接口的实现方式以及接口间的拓展。强调了接口不能实例化,类通过implements实现接口,一个类可以实现多个接口,并需重写所有接口方法。还提到了接口的多态性和接口间的继承关系。
interface Up{//接口使用interface修饰,抽象类中替换原来的abstract class,变成接口
    public static final int iq = 100;
    //接口中定义的成员变量,默认为public static final
    public abstract void show();
    //public void what(){
    //    System.out.println("接口中的具体普通方法");
    //} 接口中不能具有主体/接口不能有具体实现
    default public void what(){
        System.out.println("用default定义");
    }//接口中具体实现必须要由default修饰成为接口默认方法
    static void how(){//
        System.out.println("静态方法");
    }//接口中可以具有静态方法
    //抽象方法默认为public abstract的方法。
    //接口不可以被new实例化
    //类和接口之间的关系通过implements实现的。
    //接口可以多态
}
interface Down{
    public abstract void low();
}
interface ZhOng extends Up{//接口和接口之间通过extends来进行操作,叫做拓展
    void listen();
}//当一个类继承该接口的时候,重写所有接口(祖祖辈辈)的方法。
class Learn implements Up {//一个类实现了一个接口就必须重写接口中所有的抽象方法
    @Override
    public void show() {
        System.out.println("我叫学习,IQ" + this.iq);
    }
    //重写方法的时候方法前面必须加上public
    @Override
    public void what() {
        System.out.println("增添知识,即增添无知和痛苦,但可驱逐愚蠢。");
    }

    //static void how() {//
    //    System.out.println("即使想说勤奋苦读,也会显示静态方法。");
    // 静态方法可以不重写(只是子类中的静态方法与父类中的静态方法重名,从而对父类静态方法进行了隐藏)
    // }
}
class play extends People implements Up,Down{//一个类可以实现多个接口(接口之间用,隔开),同时继承一个类(抽象普通皆可)
    @Override
    public void show() {
        System.out.println("我叫玩乐,IQ" + this.iq);
    }

    @Override
    public void what() {
        System.out.println("只是短暂的蒙蔽双眼");
    }

    @Override
    public void low() {
        System.out.println("从调整呼吸开始");
    }

    play(int age, int Iq) {
        super(age, Iq);
    }

    @Override
    public void laShi() {
        super.laShi();
    }
}

总结如下:

一、接口类——属性方:

1、接口中定义的成员变量,默认前面修饰词为 public static final 

二、接口类——方法方:

1、接口中的抽象方法默认为 public abstract 的方法。

2、接口中可以具有静态方法

3、接口中不能有具体实现(即直接写成员方法),非要实现具体方法必须用 default 修饰,该方法成为接口默认方法。

4、一个普通类实现了一个接口必须重写接口中所有抽象方法,且重写的方法必须加上 public 。 

5、在重写方法的时候,静态方法可以不重写。(只是子类中的静态方法与父类中的静态方法重名,从而对父类静态方法进行了隐藏)

三、接口类——类方:

1、接口名使用 interface 修饰,抽象类中原来的 abstrac class 被替换,变成接口。

2、接口不可以被直接new实例化成具体对象。

3、接口和类之间的关系是通过 implements 实现的。

4、接口可以多态

四、接口类——接口方:

1、接口和接口之间通过 extends 来进行操作,叫做拓展

2、当一个普通类继承该拓展后的接口的时候,需要重写所有接口(祖祖辈辈)的方法。

3、一个类可以实现多个接口(接口之间用,隔开),同时继承一个类(抽象普通皆可)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值