一、abstract关键字使用范围
- 在Java中abstract用来修饰:类、方法,abstract表示“抽象的”
- 不能用abstract修饰变量、代码块、构造器
- 不能用abstract修饰私有方法、静态方法、final的方法、final的类
二、abstract关键字修饰类
1.抽象类
- 在Java中用abstract修饰的类称为抽象类。
- 抽象类不能被实例化。
- 抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。
- 若子类重写了父类中的所的抽象方法后,此子类方可实例化
语法规则:
权限修饰符 abstract class 类名{
//属性、抽象方法、构造器、代码块
}
三、abstract关键字修饰方法
1.抽象方法
- 在Java中用abstract修饰的方法称为抽象方法。
- 抽象方法:只有方法的声明,没有方法的实现。以分号结束;
- 含有抽象方法的类必须被声明为抽象类。
语法格式:
权限修饰符 abstract 返回值类型 方法名();
四、抽象类与抽象方法举例
abstract class Circle{
public int radius;
//抽象方法
//求面积
public abstract double findArea();
}
class Cylinder extends Circle{//继承抽象类
public int height;
//重写抽象方法
@Override
public double findArea(){
return 3.14*2*radius*height+3.14*2*radius*radius;
}
public static void main(String[] args) {
Cylinder c=new Cylinder();
c.radius=4;
c.height=5;
System.out.println(c.findArea());//226.08
}
}