Abstract 表示抽象的意思,是Java 中修饰符之一。它即可修饰类,又可修饰方法;
当用abstract修饰类时,此类就是抽象类,抽象类不能通过new生成对象。
public class Test {
public static void main(String[] args) {
Demo02 demo02 = new Demo02();
//抽象类不能通过new生成对象
//Demo01 demo01 = new Demo01();
}
}
//Demo01为抽象类
abstract class Demo01{
}
//Demo02为普通类
class Demo02{
}
当abstract修饰方法时,此方法为抽象方法,该方法不用去实现,留给子类去实现使用。如果一个类继承了抽象类并且抽象类里面含有抽象方法,则子类一定要重写该方法。
abstract class Demo01{
//抽象方法
public abstract void test02();
}
//继承抽象类Demo01,一定要重写抽象类里面的抽象方法test02();
class Demo02 extends Demo01{
@Override
public void test02() {
}
}
有抽象方法的类一定是抽象类,抽象类不一定有抽象方法;
//Demo01为抽象类,里面既有抽象方法又有普通方法。
abstract class Demo01{
//普通的方法
public void test01(){
System.out.println("抽象类里面de普通的方法");
}
//用abstract修饰的方法就是抽象方法
//抽象方法
public abstract void test02();
}
abstract class Demo02{
//此时Demo02为抽象类,但只有普通方法
public void test03(){
}
}
除此之外abstract还不能和final,static 同时使用会报错!



