abstract修饰类
1.对于像Animal这样的类,它是没有实例对象的。用abstract修饰的方法就不允许有实例对象。即不能是用new关键字类创建一个对象。
2.abstract修饰的类中必须有构造方法,因为子类在创建对象时,先要调用父类的构造方法。
3.一个类中如果有抽象方法,那么该类必须为抽象类。
4.abstract类中最少有0个抽象方法,最多全是抽象方法。
public abstract class Vehicle {
Vehicle(){
System.out.println("service people");
}
public abstract void transfrom();
}
abstract修饰成员方法
1.abstract不能修饰构造方法。
2.abstract修饰的方法是没有方法体的。即没有大括号,但要加一个分号。一个方法有大括号,但大括号中没有内容,此时认为该方法是有方法体的。
3.子类中必须对父类的abstract方法进行实现(implement)。
4.抽象方法一定不能是静态方法,因为静态方法在初始化类的时候就会被加载,而抽象方法没有方法体,无法被加载。
public class Car extends Vehicle{
@Override
public void transfrom() {
System.out.println("carry people");
}
public static void main(String[] args) {
Car car=new Car();
car.transfrom();
}
}
注意点
abstract关键字与static,final,private是互相冲突的,不能同时出现在一个方法中。