zoukankan      html  css  js  c++  java
  • 抽象类和抽象方法

      在java中,当一个类的方法被abstract关键字修饰时,该方法为抽象方法,抽象方法所在的类必须定义为抽象类,当一个方法被定义为抽象方法后,意味着该方法不会有具体的实现,而是在抽象类的子类中通过方法重写进行实现。

    定义抽象类(抽象类不能被实例化,,抽象类中也可以有普通方法):

        public abstract class类名称{

        修饰符abstract 返回类型 方法名();

          修饰符 返回类型 方法名(){

             方法体

              }

                }

    定义抽象方法(抽象方法没有方法体):

      (访问修饰符)abstract<返回值类型><方法名>(参数列表);(抽象方法没有方法体)

    例:有一个宠物类,宠物具体分别为狗狗,企鹅,实例化一个狗狗类,企鹅类是有意义的,而实例化一个宠物类则是不合理的。这里可以把宠物类定义为一个抽象类,避免宠物类被实例化。

    //宠物抽象类,即狗狗类和企鹅类的父类

    public abstract class Pet {
     private String name;//昵称
     private int health;//健康值
     private int love;//亲密度
    //有参构造方法
    public Pet(String name) {
      this.name = name;
     }
    //抽象方法,输出宠物信息
    public abstract void print();
    }
    //抽象宠物的子类,即狗狗类
    public class Dog extends Pet {
     
     private String strain;//品种
    public Dog(String name, String strain) {
      super(name);
     
       this starin =strain;
     }
      public String get strain(){
      return strain;
    }

    //重写父类的print()方法

    public void print()

    System.out.println("我是一只" + this.strain);

    }

    }

  • 相关阅读:
    目标检测:YOLOV2
    目标检测:YOLOV1
    格拉姆矩阵(Gram matrix)详细解读
    Java 线程Thread.Sleep详解
    luogu2429 制杖题
    luogu2441 角色属性树
    luogu2398 SUM GCD
    luogu2303 [SDOI2012] Longge的问题
    luogu2054 洗牌 同余方程
    线性同余方程
  • 原文地址:https://www.cnblogs.com/Jc1995/p/12872488.html
Copyright © 2011-2022 走看看