JAVA 接口和抽象类

JAVA 接口和抽象类

接口

接口可以用USB接口来比喻,USB插口存在于多种不同的产品上,电脑,电视,笔记本之类,而这些产品又有很多品牌,不同品牌享受的系统服务也不同,USB接口就是一个通用点,他们的USB接口都能接U盘和鼠标。由此我们就可以得出结论,接口是一个只要你满足规范约束就能使用一些功能其中所指的约束。

例如我们写一个mouse鼠标在USB接口里,电脑(computer)能用,笔记本(laptop)也可以使用

interface 用于定义接口的关键字

public interface USB(){
	void mouse();
}

引用接口

public class Computer implements USB{
	@Override
	public void mouse() {
		System.out.println("可用鼠标");
	}
}

实现

public class ComputerTEST {
	public static void main(String[] args) {
		USB computer = new Computer();
		computer.mouse();
	}
}

抽象类

· 抽象方法是出现在基类中的一种方法,但要求在派生类中被重写。
· 一个抽象方法只有方法头,没有方法主体
· 包含抽象方法的类就会自动办成抽象类,隐刺必须以abstract关键字声明。
· 抽象方法会被用来确保派生类会实现这个方法
· 若类含有抽象方法,则类必须以abstract关键字声明为抽象类
eg.public abstract class
· 抽象类可以含零或多个普通方法,也可以含零或多个抽象方法
· 不论抽象类是否含有抽象方法,其都不允许实例化,即不能创建抽象类的对象,因为其描述的是抽象概念。它只能作为其他类的基类。
· 若父类是抽象类,且子类不想成为抽象类,则子类必须将父类中所有抽象方法重写为带方法体的普通方法,否则子类仍必须是抽象类。

public abstract people{
	public void run(){
		System.out.println("run");
	}//普通方法
	public abstract void eat();//抽象方法
}

用teacher来继承people来实现eat方法

public class teacher extends people{
	@override
	public void eat(){
		System.out.println("eat");
	}
}

区别

1.成员区别
抽象类:可以有变量、常量、构造方法(抽象方法、非抽象方法都可以有)
接口: 只能有常量和抽象方法。
2.关键字不同
3.修饰符区别
4.关系区别
类与类:属于继承关系,单继承
类与接口:属于实现关系,可以单实现,也可以多实现
接口与接口:属于继承关系,可以单继承,也可以多继承
5添加子方法对子类的影响
在抽象类中添加新方法,提供默认方法,在子类中可以不用修改
在接口中添加新方法,实现该接口的类必须实现这个新添加的方法
6.设计理念区别
抽象类:对类抽象,包括了属性行为
接口:主要对行为抽象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值