抽象类和抽象方法的特点

1 一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类;
2 抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承;
3 若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的方式来实例化超类中的所有抽象类方法。
抽象方法可再与public、protect复合使用,但不能与final、private和static复合使用;
4 抽象方法只有方法声明,不能有方法体。

 1.抽象方法:

 使用abstract修饰,的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现

 2.抽象类:

 包含抽象方法的类就是抽象类。通过abstract定义规范,然后要求子类必须定义具体实现,通过抽象类,我们就可以,严格限制子类的设计,使的子类之间更加通用

3.基本用法:

public abstract class _01_Abstract{
    
    //1.没有实现   
    //2.子类必须实现

    abstract public void shout();
    public void run(){
        System.out.println("4565482  454");
    }
}

 class Dog extends _01_Abstract{

    @Override
    //父类中有shout方法,所以限制子类必须有,至于方法体中有什么与父类无关
    public void shout() {
        
        // TODO Auto-generated method stub
        System.out.println("___++++++___");
        
    }
 
 }

 4.使用要点:

1 在抽象方法的类只能定义成抽象类;
2 抽象类不能实例化,即不能用new来实例化对象;
3 抽象类可以以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能被子类调用;
4 抽象类只能用来被继承;
5 抽象方法必须被子类实现。
原文地址:https://www.cnblogs.com/yun---meng/p/12906939.html