Java面向对象之抽象类

抽象类概念

当多个子类需要指向同一个父类并每个子类实现的功能不同时,父类便可定义为抽象类

抽象类

1.用abstract修饰,就算抽象类
2.里面和普通类一样,不过它还可以拥有抽象方法
3.不能够创建对象
4.一般用来当作模板

抽象方法

1.一个方法被abstract修饰就是抽象方法
2.特点没有方法体
3.不是抽象类,必须覆写抽象方法

Demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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); //计算长方形的周长
}
}
❤赏点钱让我买杯快乐水8❤