我的网站:欢迎大家访问
抽象类概念
当多个子类需要指向同一个父类并每个子类实现的功能不同时,父类便可定义为抽象类
抽象类
1.用abstract修饰,就算抽象类
2.里面和普通类一样,不过它还可以拥有抽象方法
3.不能够创建对象
4.一般用来当作模板
抽象方法
1.一个方法被abstract修饰就是抽象方法
2.特点没有方法体
3.不是抽象类,必须覆写抽象方法
Demo
public class AbstractDemo {
public static void main(String[] args){
//new Test();
Test test = new Circle(7.382); //实例化对象传入圆的半径
double length = test.getLength(); //调用计算的方法
System.out.println(length); //输出结果
}
}
abstract class Test{ //新建抽象类Test,存放图形的模板
int age;
void eat(){
}
Test(){
}
abstract double getLength(); //定义抽象方法
}
class Circle extends Test{ //继承抽象类
double r;
Circle(double r){
this.r = r;
}
@Override
double getLength(){ //对抽象方法进行覆写
System.out.println("圆周率为:"+Math.PI); //Math.P求出圆周率
return 2*Math.PI*r; //计算圆的周长
}
}
class Rectangle extends Test{ //继承抽象类
double width;
double height;
Rectangle(double width,double height){ //定义构造方法并接收长度和宽度
this.width = width;
this.height = height;
}
double getLength(){ //对抽象方法进行覆写
return 2*(width+height); //计算长方形的周长
}
}