Java面向对象——继承和接口

接口
关键词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)一个类可以实现多个接口,但继承只能继承一个类
注:一个类在继承父类的时候实现了接口,如果父类中有和接口相同的方法,
并且父类没有实现接口,则子类不需要在接口中实现该方法

原文地址:https://www.cnblogs.com/hqr9313/p/2439745.html