接口与抽象类的区别

本文详细介绍了Java中的接口和抽象类的定义语法、特点,包括接口的抽象方法、默认方法、构造限制,以及实现类的职责和多重继承的特性。抽象类虽可有构造方法和普通方法,但子类仅能单继承。
摘要由CSDN通过智能技术生成

/*
 * 接口
 * 语法1:接口使用interface关键字定义
 * 语法2:接口中允许定义抽象方法,定义时允许忽略abstract
 * 语法3:接口中不允许定义构造方法
 * 语法4:接口中不允许定义带有方法体的普通方法,但可以通过default关键字定义默认方法
 * 语法5:实现类通过implements关键字实现接口,必须重写接口中定义的抽象方法
 * 语法6:实现类可以同时实现多个接口
 * 语法7:接口之间允许多重继承
 * 
 * 
 * 抽象类
 * 语法1:抽象类使用abstract关键字定义
 * 语法2:抽象类中允许定义抽象方法
 * 语法3:抽象类中允许定义构造方法
 * 语法4:抽象类中允许定义带有方法体的普通方法
 * 语法5:子类通过extends关键字继承抽象类,必须重写抽象类中定义的抽象方法
 * 语法6:子类同时只能继承一个父类
 */ 

//举例
interface Product{
	void Phone();//抽象方法√
	public default void Book() {}//默认方法√
	//public void Product() {}//构造方法×
	//public void Food() {} 普通方法×
}

interface Fruit{
}

//接口可以多重继承
class Lemon implements Product,Fruit{
	public void Phone() {}//必须实现接口中定义的抽象方法
}

abstract class Book{
	void Book() {}//构造方法√
	abstract void bookPrice();//抽象方法√
	public void bookName() {}//普通方法√ 
}

abstract class BookType{
	//抽象类不能多继承
}

class bookAuthor extends Book{
	void bookPrice() {}//实现抽象类的抽象方法
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值