类、抽象类、接口三者的异同
1.定义
类:是实例的模板;
抽象类:只声明具体的接口(方法签名)而不完成具体的实现
接口:一个方法的集合吧,里面拥有多个方法(我的理解)
2.其他
1.抽象类不能被实例化,只可以用来继承作为其他类的父类存在;而普通类可以被实例化;
2.抽象类和普通类的继承是单继承,而接口的继承可以多继承,即继承多个接口;
3.抽象类中的抽象方法在子类中必须被实现;
4.接口没有构造方法;
用法
1.声明方式
类:[public |(default)] class 类名()
抽象类:[public |(default)] abstract class 类名()
接口:[public |(default)] interface 接口名()
2.属性
1.类:private/(default)/protected/public 类型 属性名;
2.抽象类:抽象属性:private/(default)/protected/public abstract 类型 属性名;
3.接口:属性默认:public static final;
3.方法
1.类:private/(default)/protected/public 返回值类型 方法名(参数){}
2.抽象类:private/(default)/protected/public abstract 返回值类型 方法名(参数);或一般方法
3.接口:默认:public abstract
5.类实现接口的语法
[修饰符] class <类名> [extends 父类] [implements 接口列表]{}
6.继承
类:单继承;只能有一个父类;
抽象类:单继承;只能有一个父类;如果父类有抽象方法,子类也必须要有;
接口:多继承;一个接口继承多个接口