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

    抽象类

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

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

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

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

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

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

    接口

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

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

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

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

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

    this:这个对象

    super:父类

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

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

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

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

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

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

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

             

  • 相关阅读:
    二分图 洛谷P2055 [ZJOI2009]假期的宿舍
    并查集 洛谷P1640 [SCOI2010]连续攻击游戏
    贪心 洛谷P2870 Best Cow Line, Gold
    贪心 NOIP2013 积木大赛
    快速幂 NOIP2013 转圈游戏
    倍增LCA NOIP2013 货车运输
    树形DP 洛谷P2014 选课
    KMP UVA1328 Period
    动态规划入门 BZOJ 1270 雷涛的小猫
    KMP POJ 2752Seek the Name, Seek the Fame
  • 原文地址:https://www.cnblogs.com/dnf1612/p/6235633.html
Copyright © 2011-2022 走看看