实验二:类与对象(2)

2018-12-03 20:00

SY2_5.java 程序功能:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用了 SY2_4_YMD 的方法来计算年龄。

? 编写 SY2_5.java 程序文件,源代码如下:

import Mypackage.SY2_4_YMD; //引用 Mypackage 包中的 SY2_4_YMD 类

public class SY2_5{

private String name;

private SY2_4_YMD birth;

public static void main(String args[]) {

SY2_5 a = new SY2_5(\吴斌\1993,10,10); a.output(); }

public SY2_5(String n1,SY2_4_YMD d1) { name = n1; birth = d1; }

public SY2_5(String n1,int y,int m,int d) { this(n1,new SY2_4_YMD(y,m,d));//初始化变量与对象

}

public int age()

{ //计算年龄

return SY2_4_YMD.thisyear() - birth.year(); //返回当前年与出生年的差即年龄 }

public void output() {

System.out.println(\姓名 : \name); System.out.println(\出生日期: \rth.toString());

System.out.println(\今年年龄 : \+age()); } }

? 编译并运行程序。

?

(五) 构造方法的重载

构造方法的名称和类同名,没有返回类型。尽管构造方法看起来和一般的成员方法没有差别,但它不是方法,也不是类的成员。因此,构造方法不能直接调用,只能由new 操作符调用。

构造方法对于类是十分重要的,对象的初始化任务要靠构造方法来完成。重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。 ? 编写构造方法RunDemo 的重载程序文件SY2_6,源代码如

下:

class RunDemo {

private String userName, password; RunDemo() {

System.out.println(\全部为空!\);

}

RunDemo(String name) { userName=name; }

RunDemo(String name, String pwd) {

this(name); password=pwd;

check(); }

void check() {

String s=null; if (userName!=null) s=\用户名:\+userName; else

s=\用户名不能为空!\;

if (password!=\) s=s+\口令无效!\; else

s=s+\口令:********\;

System.out.println(s); }

}

public class SY2_6 {

public static void main(String[] args) { new RunDemo();

new RunDemo(\吴斌\);

new RunDemo(null,\郝书华\);

new RunDemo(\周璐\,\); } }

? 编译并运行程序。

? 三个构造方法,其中第一个无参构造方法RunDemo() 的实

际作用是对成员变量赋缺省初值,由于userName和password都是String 类,所以它们的缺省初值为null。第二个构造方法RunDemo(String) 只有一个参数,用来对成员变量userName 赋初值。第三个构造方法RunDemo(String, String) 有两个参数,并有更多的内容,首先调用this(name),其实际作用就是调用当前类的构造方法RunDemo(String name);然后对成员变量password 赋值;最后调用check 方法来检查userName 和password,类似于一般程序的口令验证。重载构造方法的执行由对象根据实际参数的个数、类型和顺序确定。 四、实验练习题(1-3题写在实验报告上并进行上机检查) 1.定义一个表示二维空间中点的类Point,其中包含点的坐标x和

坐标y,以及相应的输出点坐标(x,y)的方法;。

2.创建一个学生类,该类包含学生的信息:学号、姓名、年龄、专

业。创建2个学生对象:(本人和一个同学),输出你们的学号、姓名、年龄和专业信息。

3.定义类PerfectNum,其中包含一个方法用于判读某个数是否为完

全数。编写代码测试输出1000以内的所有完全数。

4.选做: 编写一个Java应用程序,要求能处理银行业务中简单的

帐户存款、取款及查询等功能。


实验二:类与对象(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新南方版信息技术六年级下册全册精品教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: