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

  • 相关阅读:
    springboot配置文件拆分
    SpringBoot中集成thymeleaf模板
    thymeleaf语法(二)
    thymeleaf的基本使用(一)
    js的for in循环和for of循环
    css动画箭头上线转动切换效果
    Gradle配置lintOptions
    使用IntelliJ IDEA创建Spring Boot项目
    SpringBoot的注解:
    Python的虚拟机安装已经如何配置Scrapy for Mac
  • 原文地址:https://www.cnblogs.com/hqr9313/p/2439745.html
Copyright © 2020-2023  润新知