抽象:abstract
abstract表示抽象,可以修饰类和方法,表示抽象类和抽象方法。
抽象类不可以实例化,但是抽象类可以有构造方法的,留给子类使用;抽象类可以定义一个变量,让这个变量引用子类的对象。
抽象方法,没有实现,它必须被子类实现。
一个类中有抽象方法,那么这个方法就必须定义为抽象类,当然如果没有抽象方法,这个类也可以定义为抽象类的。
abstract永远不会跟static、final、private在一起的,因为abstract修饰方法的要被子类实现。
接口:interface
接口它不是类,而是一组对类的需求描述,这些类要遵从接口描述的统一格式进行定义;我们可以认为接口它是一个特殊的抽象类,各个方法没有具体的实现,而是由实
现了这个接口的类来实现。在Java语言中,类之间的继承是单继承的,如果想多继承可以由接口来实现即实现多个接口。
1.在一个接口中所有的方法为公开的、抽象的;所有的属性都是公开、静态、常量;
2.一个类要实现接口就必须要实现这个接口的所有方法,否则这个类为一个抽象类;
3.接口不能实例化即不能new 接口名,但是可以定义一个接口变量,这个变量引用实现这个接口的类的对象;
4.接口之间可以进行多继承,接口没有构造方法。