标签:常量 dem 计算 tpi rgs bst sha ide 父类
package demo04;
/*
* 形状
*/
public abstract class Shape {
// 求周长
public abstract double getGrith();
// 求面积
public abstract double getArea();
}
------------------------------
package demo04;
//继承父类
public class Circle extends Shape {
/*
* 圆的性质:半径2.π
*/
private double r;
// 通常final修饰的常量会加上static,这样就可以通过类名直接访问
public static final double PI = 3.14;
// 构造方法就是传值
public double getR() {
return r;
}
public Circle(double r) {
super();
this.r = r;
}
// 用set方法给属性设值
public void setR(double r) {
this.r = r;
}
public double getPI() {
return PI;
}
/*
* 重写父类的方法
*/
// 计算圆形的周长
@Override
public double getGrith() {
return 2 * PI * r;
}
// //计算圆形的面积
@Override
public double getArea() {
return PI * r * r;
}
}
-------------------------------------------
package demo04;
/*
* 长方形类,继承Shape类
*/
public class Rectangle extends Shape {
// 定义全局属性
public static double width;
public static double hight;
/*
* 通过构造方法对属性进行初始化
*/
public Rectangle(double width, double hight) {
this.width = width;
this.hight = hight;
}
//
public static double getWidth() {
return width;
}
// 用set方法给属性设值
public static void setWidth(double width) {
Rectangle.width = width;
}
public static double getHight() {
return hight;
}
// 用set方法给属性设值
public static void setHight(double hight) {
Rectangle.hight = hight;
}
/*
* 重写父类的方法 (non-Javadoc)
*
* @see demo04.Shape#getGrith()
*/
// 计算长方形的周长
@Override
public double getGrith() {
return (width + hight) * 2;
}
// 计算长方形的面积
@Override
public double getArea() {
return width * hight;
}
}
---------------------------
package demo04;
public class Test {
public static void main(String[] args) {
Shape c = new Circle(5);
System.out.println("圆形的周长:" + c.getArea());
System.out.println("圆形的面积" + c.getGrith());
// 如果不重写构造方法,在此处就不会将长方形类的全局变量的属性传过来,构造方法就不能在此处传值
Shape r = new Rectangle(6, 8);
System.out.println("长方形的周长:" + r.getArea());
System.out.println("长方形的面积:" + r.getGrith());
}
}
标签:常量 dem 计算 tpi rgs bst sha ide 父类
原文地址:https://www.cnblogs.com/Koma-vv/p/9595670.html