java-接口与异常

1.接口

抽象类表示的是一种继承关系,一个类只能使用一次继承关系,这样限制了类的多重体现 。
接口的特点:
 Java是单继承的语言,利用接口可以模拟多继承;
 接口是对抽象类的进一步抽象,是方法声明和常量的定义集合;
 接口是一种行为规范,是一种“契约”;
 接口不可以被实例化
 实现类必须实现接口的所有方法
 实现类可以实现多个接口
 接口中的变量都是静态常量

为什么接口可以多继承,而类不可以?
如果有两个父类,两个父类里有一个相同的方法,那么作为子类应该怎么继承这个方法?父类1的还是父类2的?但是实现多个接口则没问题,因为不管哪个接口,调用的都是同一个实现,因为只有方法名!而且单继承的目的之一,就是降低复杂度,减少维护难度。

  • 接口的使用
    接口的定义格式如下:
<访问符> interface 接口名 {
    	
[访问符] <返回类型> 方法名([参数列表])...... 
}

定义一个接口MultiInterface.java,代码如下:

public interface MultiInterface {
    	
	public static final double PI = 3.1415926; 	
	public void callArea(); 	
	default void before(){
     //仅限于JDK1.8以后可使用 			
	System.out.println("现在开始计算:"); 	
	} 
}

注意:在定义接口的时候,接口中的所有方法和常量自动定义为public。 接口中定义的变量默认是public static final 型,且必须赋初值。
从JDK1.8开始可以使用default关键字来定义一个默认的方法来扩展接口,default关键字修饰的默认方法可以直接调用,不用子类去实现。

  • 编码实操
    先声明USB接口:其中规定了要实现USB接口就必须实现接口规定实现的read( )和write( )这两个方法。
interface USB {
   
  void read();
  void write();
}

然后在写一个U盘类UDisk和一个键盘类Keyboard,这两个类都去实现USB接口。(实现其中的方法)

class UDisk implements USB {
   
    @Override
    public void read() {
   
        System.out.println("U盘正在通过USB功能读取数据");
    }
    @Override
    public void write() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值