• finall和set和构造方法的参数意义


    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());

    }
    }

  • 相关阅读:
    java8之lambda表达式(默认方法)
    结合 CSS3 & Canvas 模拟人行走的效果
    使用 SVG 实现一个漂亮的页面预加载效果
    借助 CSS Colorguard 来避免使用重复的颜色
    网站制作素材:创意的404错误页面下载
    使用 CSS3 打造一组质感细腻丝滑的按钮
    经典!HTML5 Canvas 模拟可撕裂布料效果
    实用工具:检测过时的浏览器并提醒用户更新
    Hya.io – 基于 Web 的数字音频工作站
    SlidesJS
  • 原文地址:https://www.cnblogs.com/Koma-vv/p/9595670.html
Copyright © 2020-2023  润新知