接口
关键词:interface
定义:接口中所有的方法都是抽象方法(只有方法定义,没有实体的方法)
接口的命名规范
首字母大写I + 第二个字母大写
例:
1 public interface ICar(){ 2 public void Run();//正确 3 //public void Stop(){//错误,不能有大括号 4 //private void Run();//错误,接口中的方法不能用private修饰 5 } 6 }
使用implements实现接口
一个类了可以实现多个接口
1 public class QQ implements ICAr{ 2 public void Run(){ //必须实现接口的所有方法 3 } 4 }
抽象类
关键字:abstract
定义:在抽象当中允许有抽象方法存在,同时也允许有实体方法的存在
1 public abstract class Car(){ 2 //public void Run();//错误,没有abstract关键词 3 public abstract void Run(); //正确,此方法是抽象方法 4 public void Stop(){ //正确,此方法不是抽象方法 5 //prvate abstract void Stop(); //错误,抽象方法不能用private修饰,只能用protected和public 6 } 7 }
使用extends继承抽象类
一个类只能继承一个类,不能多继承
1 public class QQ extends Car{ 2 public void Run(){//必须对父类的抽象方法进行重写 3 } 4 }
注:如果同时存在继承和接口,必须先继承类,后实现接口
1 例如: 2 public class QQ extends Car implements ICar{ 3 public void Run(){ //必须实现接口的所有方法 4 } 5 }
接口和抽象类的区别:
1)接口里面只允许存在抽象方法,抽象类里面允许有实体方法存在
2)抽象类中的抽象方法必须要用abstract修饰,接口不需要
3)抽象类只能被继承(extends),接口只能被实现(implements)
4)一个类可以实现多个接口,但继承只能继承一个类
注:一个类在继承父类的时候实现了接口,如果父类中有和接口相同的方法,
并且父类没有实现接口,则子类不需要在接口中实现该方法