Java第八天,抽象的概念是什么?如何完成抽象类的实现?

抽象

面向对象编程中,抽象是一个很重要的概念,那么抽象有什么需要注意的地方呢?请熟记以下知识点。

  1. 如果父类当中的方法不确定如何进行方法体的实现,则这个方法就是抽象方法。
  2. 抽象方法只需要在方法前面加上abstract关键字。然后不需要写方法体(去掉大括号即可)。
  3. 抽象方法所在的类,必须为抽象类才行。
  4. 抽象类只需要在类名前面写上abstract关键字即可。
  5. 抽象类中可以定义普通成员方法。
  6. 不可以直接创建抽象类对象。
  7. 必须有继承抽象类的子类,且子类中必须实现父类中的所有抽象方法(除非子类也是抽象类),且必须去掉abstract关键字,继而实现方法体
  8. 子类实现抽象类的抽象方法本质上是覆盖重写,所以可以并且建议写上 @Override 。
  9. 抽象类中可以有构造方法,是用来初始化父类成员使用的。
  10. 抽象类中不一定有抽象方法,但是有抽象方法的类必定是抽象类。
  11. 没有抽象方法的抽象类也不可以直接new对象。

代码:

父类:

public abstract class Animal {

    public static int id = 0;
    public int age;
    public String name;

    public Animal(int age,String name){

        this.age = age;
        this.name = name;
        id++;
        drink();
    }

    public abstract void eat();

    public void drink(){

        System.out.println(age + "岁的" +  this.name + "喝水");
    }
}

子类:

public class Dog extends Animal {

    public Dog(int age,String name){

        super(age,name);
    }

    @Override
    public void eat(){

        System.out.println(super.age + "岁的" + super.name + "吃骨头");
    }
}


运行代码:

public class Demo {

    public static void main(String[] args) {

        Dog dog = new Dog(3,"二哈");
        dog.eat();
    }
}


 

posted @ 2019-08-21 13:43  IT蓝月  阅读(303)  评论(0编辑  收藏  举报
Live2D