欢迎光临散文网 会员登陆 & 注册

abstract抽象类和抽象方法

2022-06-21 11:22 作者:虚云幻仙  | 我要投稿

/**
* 测试抽象abstract类和抽象方法
* 抽象类是一种规范 通过空的抽象方法规范了子类必须要实现的功能
* 抽象类只能用来被继承
* 每个子类必须要重写抽象方法 实现抽象类规定的这些功能才能被创建
*/

public abstract class TestAbstract {
   //抽象类用abstract修饰 类中含有抽象方法时该类必须定义成抽象类
   public abstract void turnOn();
   //抽象方法不加方法体{} 用abstract修饰
   //这条抽象方法规定:设备必须要有启动方法 每个子类必须实现启动方法才能创建

   public abstract void turnOff();
   //这条抽象方法规定:设备必须要有关闭方法 每个子类必须实现关闭方法
   int price;
   //抽象类内可以有普通属性和普通方法
   String name;
   public void print(){
       System.out.println(name+price);
   }

   public TestAbstract(int price, String name) {
       //抽象类的构造方法不能用来new对象(实例化) 可以被子类调用super
       this.price = price;
       this.name = name;
   }

   public TestAbstract(){}
   //无参构造方法和有参构造方法构成重载overload

}

class Radio extends TestAbstract{
   //定义class radio继承TestAbstract 时就会报错 要求实现方法

   @Override
   public void turnOn() {
       System.out.println("Radio.turnOn");
   }
//每一个子类都需要重写父类的抽象方法 实现方法后才可以创建

   @Override
   public void turnOff() {
       System.out.println("Radio.turnOff");
   }

   public Radio(int price,String name){
       super(price, name);
       //调用抽象类的构造方法
   }
}

abstract抽象类和抽象方法的评论 (共 条)

分享到微博请遵守国家法律