面向对象--抽象类--abstract关键不能和哪些关键字共存?

abstract关键不能和哪些关键字共存?

/*
        一个类如果没有抽象方法,可不可以定义为抽象类?
        可以

        如果可以,有什么意义?
        橙汁,水,牛奶等这些东西用共同的特点,我们把这些相同的特点概念归结成一个类
        假设叫做液体。
        至于后面有没有抽象方法,取决于这些东西有没有相同的行为。如果说有着相同的本质,但是没有
        实际的共同的行为,也可不写抽象方法,这样也是合情合理的。
            1、抽象类中可以没有抽象方法
            2、抽象类不能被实例化

        抽象类中可以存在哪些关键字?abstract关键不能和哪些关键字共存?
            private
            final
            static
*/
abstract class Liquid{
//      抽象类的构造方法中可以写super(),那抽象类的父类是谁呢?
//    java中所有类都有一个共同的父类:Object
//    Liquid(){
//        super();
//    }
  
    //abstract关键字可以和public关键字共存
    public abstract void show();

//    abstract关键字和private关键字冲突
//      因为我写抽象方法的目的就是为了继承和重写,而private关键字修饰的不能被继承。
//    private abstract void show1();

//      abstract关键字和final关键字冲突
//      因为我写抽象方法的目的就是为了继承和重写,而 final 关键字修饰的不能被重写。
//    final abstract void show2();

//      abstract关键字和 static 关键字冲突
//      因为我写抽象方法的目的就是为了继承和重写,而 static 关键字修饰的算不上被重写。
//    static abstract void show3();

  //抽象类中可以有静态成员方法
    public static void show4(){
        System.out.println("这是父类中的静态方法");
    }

}

//class Milk extends Liquid{
//可以用具体的类去继承抽象类
//}

public class AbstarctSiKao {
    public static void main(String[] args) {
      //抽象类不能被实例化
//        Liquid l = new Liquid();
      
      //可以用具体的类去继承抽象类
//        Liquid l = new Milk();
      
      //可以直接通过类名调用
        Liquid.show4();
    }
}
posted @ 2021-12-12 00:41  赤兔胭脂小吕布  阅读(98)  评论(0编辑  收藏  举报