zoukankan      html  css  js  c++  java
  • 抽象类和接口

    抽象类

    为什么要引用抽象类这种类:父类中有许多的方法没有具体内容;而且子类中重写父类的方法如果写错,不会提示错误;所有我们引用抽象类来对子类加以限制,同时将父类中没有具                               体方法的方法,定义为抽象,可以更加简洁。不需要再用{}来表示方法。      

    抽象类和抽象方法:不知道具体内容的类和方法

    抽象类的定义:abstract class 类名{}

    抽象方法的定义:abstract 返回类型 方法名(形参);

    怎么引用抽象类:抽象类不能被直接new,但是可以调用它的派生类----当抽象类有自己的派生类时可以直接调用派生类来实现调用抽象类;当没有派生类时,需要自己写一个派生自这                       个抽象类的派生类,来变相调用这个抽象类。

    注意:抽象类不能被直接new出来;抽象方法没有函数体;抽象类中可以没有抽象方法,但是有抽象方法的类必定是抽象类;抽象类中可以包含成员变量、抽象方法、非抽象方法;抽           象类的派生类可以不实现抽象方法,但是引用的类必须要注明是抽象类。

    接口

    接口可以理解为就是一个独特的抽象类,他只有常量和抽象方法

    定义方法:    interface 接口名 [extends 父接口列表]{
               final 类型 常量名=值;
               public void 方法名(形参);
             }

    接口的实现:
    [abstract] class 类名 extends 父类 implements 接口列表{}  //[]代表可以省略不写

    定义接口时要遵循接口分离原则,即接口实现的功能尽量的少,最好一个借口实现三个以下的功能;同时接口的接口名尽量是形容对象方法的形容词。

    注意:类是单继承,而接口可以多个引用。

    this:这个对象

    super:父类

    final:当修饰成员变量时,相当于常量

       当修饰方法时,说明方法是终态方法,不可以进行重写操作

         当修饰类时,说明类是终态类(可以理解为最具体,不能再具体),不可以被继承

     例如之前做的猫叫同时惊醒了人、老鼠和另一只猫:

    新建三个接口分别为人、老鼠、猫,

    分别给他们自己的行为方法,然后再建立一个猫叫的类来调用这三个接口

    之后用main函数来调用猫叫函数 实现猫叫惊醒了人、老鼠和另一只猫

             

  • 相关阅读:
    读取json中的中文乱码
    Qt新建一个对话框
    Qt窗口全屏
    Qt设置QWidget背景图片
    Qt加载本地图片
    junit5|软断言
    Classpath resource [/data/department/createDepartment.csv] does not exist
    有个用户反馈上传头像失败,分析原因?
    手机扫描二维码的测试用例(转载)
    一次完整的HTTP请求过程是怎么样的呢?【图文详解】(转载)
  • 原文地址:https://www.cnblogs.com/dnf1612/p/6235633.html
Copyright © 2011-2022 走看看