抽象类和抽象方法

  在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);

}

}

原文地址:https://www.cnblogs.com/Jc1995/p/12872488.html