java之抽象类

时间:2022-07-23
本文章向大家介绍java之抽象类,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计的非常抽象,以至于它没有具体的实例,这样的类叫作抽象类

1.用abstact修饰一个类时,这个类就叫做抽象类;

2.用abstract修饰一个方法时,该方法叫作抽象方法:抽象方法,只有方法的声明,没有方法的实现,以分号结束;

3.含有抽象方法的类必须声明为抽象类;

4.抽象类不能被实例化,抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类;

5.不能用abstact修饰属性、私有方法、构造器、静态方法、final方法;

6.抽象类可以有构造方法,但是不能在构造方法中直接创建抽象类的实例对象而已;

Animal.java

package myjava;

public abstract class Animal {
    public abstract void test();
    public abstract void move();
}
class Dog extends Animal{
    public void test() {}
    public void move() {
        System.out.println("狗的移动方式是跑");
    }
}

Test.java

package myjava;

public class Test {
    public static void main(String[] args) {
        
        Dog dog = new Dog();
        dog.move();
}

输出:

狗的移动方式是跑