Java基础——抽象类

Java基础——抽象类,第1张

Java基础——抽象类 基本定义

抽象方法,只声明而未实现的方法我们称为抽象方法,所有的抽象方法都需要用abstract关键字声明,包含抽象方法的类也需要使用abstract关键字声明,抽象类和普通类相比,区别在于抽象类带有抽象方法,抽象方法可以只声明,而不需要方法体。

public class Demo05 {

}
abstract class Animal{
    private String name;
    public Animal(String name){
        this.name=name;
    }

//    public void eat(){
//        System.out.println("吃东西");
//    }

    //父类方法不确定性,此时的父类方法并没有实际意义。
    //==》考虑将该方法设计为抽象方法。
    //==》所谓抽象方法就是没有实现的方法。
    //==》所谓的没有实现就是指,没有方法体。
    //==》当一个类中存在抽象方法时,需要将该类声明为abstract类
    //==》一般来说,抽象类会被继承,由其子类来实现抽象方法。
    public abstract void eat();
}
  • 用abstract关键字来修饰一个类时,这个类就叫抽象类。

​​​​​​访问修饰符 abstract  类名{

}

  • 用abstract关键字来修饰一个方法时,这个方法就是抽象方法

访问修饰符 abstract 返回类型 方法名(参数列表);//没有方法体

  • 抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类。
  • 抽象类,在框架和设计模式中使用较多。
抽象类细节
  1. 抽象类不能被实例化。
  2. 抽象类中不一定要含有abstract方法。也就是说,抽象类中是可以没有抽象方法的。
  3. 一旦类中包含了abstract方法,则这个类也必须声明为abstract。
  4. abstract只能修饰类和方法,不能修饰属性和其他的。
  5. 抽象类中可以有任意成员【抽象类的本质还是类】,如:非抽象方法,构造器,静态属性等。
  6. 抽象方法不能有主体,即不能实现。
  7. 如果一个类继承了抽象类,则它必须实现抽象类中的所有抽象方法,除非它自己声明为abstract类。
  8. 抽象方法不能使用private、final和static来修饰,因为这些关键字都与重写冲突。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5686429.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存