接口:
接口是为了定规范,保持统一性;
接口可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容;
接口是通过 interface 关键字来定义的,接口中定义的所有方法都必须是公有;
接口不能实例化;
接口的属性必须是常量;
类必须实现接口的所有方法;
一个类可以同时实现多个接口,用逗号隔开;
接口可以继承接口。
抽象类:
类中只要有一个方法声明为abstract抽象方法,那么这个类就必须声明为抽象类;
使用关键字: abstract;
抽象方法只允许有方法声明与参数列表,不允许有方法体;
抽象类禁止实例化,仅允许通过继承来实例化;
继承抽象类的子类中,必须实现抽象类中的所有抽象方法;
子类成员的访问限制级别必须等于或小于抽象类的约定,例如抽象类是protected,子类必须是
protected 或者 public,不能是private;
子类方法参数必须与抽象类方法参数完全一致,但允许增加默认参数;
抽象类不能实例化,但可以有构造函数,必须声明为final;
抽象类可以拥有静态成员。