抽象类_abstract
使用abstract关键字 ,实现抽象类(方法同理)
?public abstract class Demo(){
? // 抽象方法,只有方法的名字,没有方法的实现。(也就是没有方法体)
? public abstract void add(); //类似约束,有人帮我们实现
?}
继承抽象类
?public class T extends Demo{
//继承时就会报错,报的是,必须重写抽象类中的方法。鼠标放在下划线,快捷完成方法重写
? @Override
? public void add(){
? //代码块
? }
?}
extends属于单继承
快速补全方法的快捷键:Ctrl+I?
接口_interface
接口的一些特征
1、接口是某个事物对外提供一些功能的声明
2、接口常常和多台使用在一起,也解决了java中单一继承的问题
3、接口的关键字是——interface
4、一般使用接口生命方法或常量,接口中的方法只能声明,不能具体实现
接口的实现:格式:
?interface 接口名{}
类实现接口用 impements实现 格式:
?class 类名 implements 接口名{}
-
接口:只有规范!自己无法写方法~专业的约束!约束和实现分离:面向接口编程!!! -
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能...”的思想。 -
接口的本质是契约!! -
声明类的关键字是class,声明接口的关键字是interface
作用:
-
接口是一个约束 -
定义一些方法,让不同的人实现 -
方法只能创建抽象,创建 public sbstract -
属性只能创建常量,常量创建 public static final -
接口不能被实例化,接口中没有构造方法 -
implements 可以实现多个接口 -
必须要重写接口中的方法
示例:这里我们写一个防盗门的样例分析:防盗门具有门的属性和防盗铃的属性
代码实现;
为了方便,这三个文件我放在同一个包的下面
?public interface Call {
? //这是实现门铃的接口
? //报警
? public void call();
?}
?public interface Protecte {
? //保护的接口
? public void pro();
?}
?//门
?public class Door implements Protecte,Call {
? //这里就解决了无法多继承的问题
? @Override
? public void call() {
? // TODO Auto-generated method stub
? }
? @Override
? public void pro() {
? // TODO Auto-generated method stub
? }
?}
接口还允许多继承
|