java 接口

接口和内部类为我们提供了将接口与现实分离的更加机构化的方法。

抽象类和抽象方法

为什么要抽象?抽象类因抽象方法而生,而这些抽象方法子类都必须去实现。设计者这样设计的目的是考虑到后面子类都需要这些抽象方法但是具体实现不同,如果用abstract关键字修 饰的方法没有在子类中实现就会在编译时报错。子类也不一定要全部实现抽象父类的所以抽象方法,但如果没有全部实现那么就要 用abstract关键字修 饰该类。

用abstract修饰的类(抽象类)是不能创建对象的,如果创建的话编译器会报错,通过这一方法可以刻意的阻止即使 没有抽象方法的类不能创建对象被外部程序使用。

package S;

abstract class Instrument {
    public abstract void paly(String s);

    public String what() {
        return "Instrument";
    }

}

package S;

class Wind extends Instrument {
    public void paly(String s) {
        System.out.println("Wind.paly()" + s);
    }

    public String what() {
        return "Wind";
    }

    public void adjust() {

    }

}

package S;

class Percussion extends Instrument {
    public void paly(String s) {
        System.out.println("Percussion.paly()" + s);
    }

    public String what() {
        return "Percussion";
    }

    public void adjust() {
    }
}

package S;

public class Music2 {
    public static void main(String[] args) {
        Percussion p = new Percussion();
        p.paly("hahah");
        Wind w = new Wind();
        w.paly("hahah");
    }
}/*output
Percussion.paly()hahah
Wind.paly()hahah
    */

接口

接口是抽象类的极端,接口里面所有方法都是被抽象的,具体看下面的代码。抽象类不是已经够用了嘛?为啥需要接口?接口不是真正意义上的继承因为 它全部是抽象的只是确定方法名、参数列表、返回类型,其他全部靠你实现,感觉没有从它那获得什么实质性 东西,个人觉得接口就是为了提供一种规范要求对方必须这样来做,同时可以实现同步开发。、

package S;

interface Instrument {
    public void paly(String s);

    public void adjust();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值