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

  • 相关阅读:
    on duplicate key update之多列唯一索引
    js 判断 微信浏览器 安卓/苹果 pc/移动
    history 和 hash (转)
    路由vue-router
    添加图标ico
    vue项目结构
    vue2.0项目的构建
    echarts使用 图例改变和默认不选中
    微信自定义菜单设置 及 emoji表情更换
    复制/设置剪切板内容 (浏览器/nativejs)
  • 原文地址:https://www.cnblogs.com/hqr9313/p/2439745.html
Copyright © 2011-2022 走看看