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

}
}

finall和set和构造方法的参数意义的更多相关文章

  1. php中$t=date()函数参数意义及时间更改

    php中date()函数用的最多的是:date('Y-m-d H:i:s', time());  这里面的参数意义分别是:Y - 年,四位数字; 如: "2016":m - 月份, ...

  2. 用于string对象中字符截取的几种函数总结——语法、参数意义及用途举例

    1. charAt():返回指定位置的字符. 语法:stringObject.charAt(index) 参数意义:index  必需,指字符在字符串中的下标.需要注意的是,字符串中第一个字符的下标是 ...

  3. [Java] xms xmx XX:PermSize XX:MaxPermSize 参数意义解析

    今天在做jmeter压力测试时又出现以前经常出现的异常,如下图,长时间不弄这个的,又有点不知所措了,所以干脆再来总结一下问题: 以前写过两篇文章,对这个问题研究过,见下面连接: 连接1:http:// ...

  4. EMC与电容(二)-电容参数意义、各电容的特点及应用

    上次的问题,看到很多回答里都有关于X电容,Y电容,NPO之类,这些很奇怪的参数到底代表什么意义呢?以前很多次都在BOM表里看到这些参数,一直都无视过去,正好这次的EMC课程里也提到这方面的知识,正好跟 ...

  5. Delphi 中 paramstr 的用法及参数意义

    原型         function   paramstr(i:index):string         对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那 ...

  6. bash shell——与if条件相关的参数意义

    最近编写脚本,常看到有 if [ -x $variable ] 类的条件语句,不知道相应参数的意义到底是什么, 特摘录如下:from   http://blog.csdn.net/aaaaatiger ...

  7. Java学习笔记7---父类构造方法有无参数对子类的影响

    子类不继承父类的构造方法,但父类的构造方法对子类构造方法的创建有影响.具体来说就是: ①.当父类没有无参构造方法时,子类也不能有无参构造方法:且必须在子类构造方法中显式以super(参数)的形式调用父 ...

  8. Kotlin中构造方法的参数var val 和 什么都没有的区别

    1.什么都没有,在该类中使不能使用的, 这个参数的作用就是,传递给父类的构造方法 2.使用var 可以在类中使用,相当于 我们声明了一个该类中定义了一个private 的成员变量 3.val表示不让修 ...

  9. menu-代码添加以及add方法参数意义

    今天需要给一个menu动态添加一个item,先把方法记录如下 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Me ...

随机推荐

  1. Delphi中如何实现模拟组合按键,如发送Ctrl+F的按键

    利用 keybd_event函数可实现,如下面的代码用以实现在一个公共菜单中模拟Ctrl_F按钮以调用DBGridEH的查找对话框功能:这是在一个ActionList中的某一Action的OnExec ...

  2. Java 工厂方法模式

    在工厂对象上调用创建方法,生成接口的某个实现的对象 通过这种方式,接口与实现分离 方法接口 /** * 方法接口 */ public interface Service { void method1( ...

  3. SoapUI使用笔记备忘

    1.安装好SoapUI后,新建一个REST项目 注意新建REST项目时,需要输入测试站点的地址,即IP+端口 之后点击OK就建立好了项目,但是新项目会默认自带一个根路径访问请求,可以删除(一般没用) ...

  4. C++时间标准库时间time

    转自:http://www.cnblogs.com/yukaizhao/archive/2011/04/29/cpp_time_system_time.html (玉开) C++标准库中的时间需要引用 ...

  5. Linux掉电处理

    在嵌入式设备中,掉电处理一直是一项比较麻烦的工作,在具有Linux系统的设备中,系统的种种数据的处理更是增加掉电处理的难度.现在做以下几点总结,再遇到类似问题可以做个参考. 1,系统启动的处理 在系统 ...

  6. Hadoop生态圈-Kafka的本地模式部署

    Hadoop生态圈-Kafka的本地模式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Kafka简介 1>.什么是JMS 答:在Java中有一个角消息系统的东西,我 ...

  7. Python常用模块-时间模块(time&datetime)

    Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...

  8. 在“安装”阶段发生异常。 System.Security.SecurityException: 未找到源,但未能

    写Windows服务的时候,运行了一下,就是没反应,命令框一闪而过,查了一下异常,大致是题目的那样.原因是因为权限不足.但是在网上搜的方法都不顶用. 解决方法如下: (1)以管理员身份运行CMD: ( ...

  9. vue-router 编程式导航

    借助vue-router的实例方法,通过编写代码来实现导航的切换: back:回退一步 forward:前进一步 go:指定前进回退步数 push:导航到不同url,向history栈添加一个新的记录 ...

  10. es6笔记(6) Iterator 和 for...of循环

    概要 js中的数组.对象,加上ES6中增加的Map.Set四种数据集合. Iterator提供了一种机制,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署Iterator接口,就可以完成遍 ...