定义抽象类:
public abstract class aaa{
public abstract int bbb(); //抽象方法必须写在抽象类中
public int ccc(); }
abstract不能与private,static,final同时使用
接口:
接口只描述所应该具备的方法,没有实现
接口不能创建对象,只能让别人实现
接口中的成员变量只能是用public static final修饰:
public interface ccc{
public static final int b=123;
public abstract ddd();}
//public在任何包任何类中都可以访问
//static只要被静态修饰就可以通过 类名.属性名/方法名() 调用
//finalfinal修饰变量,则该变量是常量,一次赋值终身不变
类实现接口:需要重写方法。
public class ddd implement ccc{
public void ddd(){sysout} }
接口多实现:一个类可以实现多个接口
public class eee implement ccc,fff{}
类继承类同时实现接口:
public class extends xxx implement ccc,fff{}
接口的多继承:接口之间可以多继承
public interface xxx{}
public interface yyy{}
public interface zzz extends xxx,yyy{}
接口与抽象类的区别与联系:
都处在继承顶端,被其他类继承或实现
都不能直接new创建对象
都可以包含抽象方法,子类必须重写这些方法(接口全抽象方法,抽象类可以写普通方法)
一个类只能继承一个父类,可以实现多个接口(接口之间可以多继承)。