典型例题 6-3
设计一个活期存折类,其中包括成员变量name、indentity、address、balance、datae、hasPassword 、password
使用活期存折类创建对象,为zhangl办理一个活期存折,其成员变量的值分别为zhangsan(姓名)\1234567890(编号)\西安兴园10号(家挺地埴)\1000存款额\当天日期(办理日期)\true(是否要密码)\123456(
import java.util.*;
public class Bankbook
{
String name;
long identity;
String address;
int balance;
Date date;
boolean hasPassword;
long password;
Bankbook(String str1,long i,String str2,int m,Date d,boolean y,long p)
{
name=str1;
identity=i;
address=str2;
balance=m;
date=d;
hasPassword=y;
password=p;
}
public void show() //显示存折信息
{
System.out.println("基本信息");
System.out.println(name+" "+identity+" "+address);
System.out.println(balance+" "+date+" "+hasPassword+" "+password);
}
public static void main(String args[])
{
Bankbook zhangsan=new Bankbook("zhangsan",1234567890,"西安市兴庆路10号",
1000,new Date(),true,123456);
zhangsan.show();
}
}
例6-4 定义一个birth类,其成员变量有:year(年)、month(月)、day(日)。其无参构造方法将成员变量初始化成:year=100,moth=1,day=1(对应日期有为2000年1月1日);有参构造方法对成员变量进行合理初始化。
创建brith对象,通过构造方法初始化成员变量,输出成员变量值 及年龄
例6-4 定义一个birth类,其成员变量有:year(年)、month(月)、day(日)。其无参构造方法将成员变量初始化成:year=100,moth=1,day=1(对应日期有为2000年1月1日);有参构造方法对成员变量进行合理初始化。
创建brith对象,通过构造方法初始化成员变量,输出成员变量值 及年龄importjava.util.Date;classBirth
{private intyear;private intmonth;private intday;publicBirth()
{
year=100; month=1; day=1; //日期为2000年1月1日
}public Birth( int y, int m, intd )
{
year=y;if(m>0&&m<=12)
month=m; //将m的值赋给成员变量month
else{
month= 1; //如果m的值有误,将成员变量month的值设置为1
}
day=checkDay(m,d);//对d值进行检测
}private int checkDay(int m,intd)
{int DaysOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};if (d>0&&d==DaysOfMonth[m])returnd;else{return 1;
}
}publicString toString()
{return year+1900+"年/"+month+"月/"+day+"日";
}public static voidmain(String args[])
{intage;
Birth zhang=new Birth(94,02,17);
System.out.println(" Zhang's birth is "+zhang.toString());
Date today=newDate();
age=today.getYear()-zhang.year; //Date是系统定义的日期类,通过它可以获得系统的当前日期,方法getYear()的功能是取得Date对象的年份值。
System.out.println(" Zhang is "+age+" years old ");
}
}
运行结果:
zhang’s birth is 1994年2月17日
zhang is13 years old
运行结果:
zhang’s birth is 1994年2月17日
zhang is 13 years old
例6_5 请指出下面程序中类成员变量与实例变的不同之处
classStaticTest
{public int x=1;public static int y=1;
}public classdxlt_6_5 {/***@paramargs*/
public static voidmain(String[] args) {//TODO Auto-generated method stub
inti;
StaticTset.y=StaticTest.y+1;
StaticTest m=newStaticTest();
StaticTest n=newStaticTest();
m.x=m.x+3;
m.y=m.y+1;
n.x=n.x+5;
n.y=n.y+5;
System.out.println("m.x"+m.x+"m.y="+m.y);
System.out.println("m.x"+m.x+"m.y="+m.y);
}
}
运行结果:
m.x=4 m.y=10
n.x=6 n.y=10