一、抽象类: 一种特殊的类,用abstract关键字标识,主要用于在父类中定义的某些方法,没有具体实现,主要被子类完成重写。没有具体实现的方法我们可以定义成抽象方法。
二、注意事项:
1、抽象方法不能有方法体,只能进行方法定义,用分号结束。
2、抽象类的子类必须重写抽象类中的抽象方法,除非子类也是抽象类。
3、抽象类不能被实例化,但可以存在构造方法
4、抽象类不能是final类.
5、抽象类中可以包含非抽象方法和成员变量
6、抽象类中可以没有抽象方法,但包含抽象方法的类一定是抽象类。
如:
public class Test {
public static void main(String[] args) {
Shape shape=new Circle();
double area=shape.area(2);
System.out.println("圆的面积:"+area); // 圆的面积:12.56
}
}
//Shape.java文件
public abstract class Shape {
public abstract double area(int num); //抽象方法
int a=5; //成员变量
public void print() { //非抽象方法
System.out.println("Hello World");
}
}
//Circle.java文件
public class Circle extends Shape{
public double area(int num) {
return 3.14*num*num;
}
}