典型例题 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对象,通过构造方法初始化成员变量,输出成员变量值 及年龄 import java.util.Date; class Birth { private int year; private int month; private int day; public Birth() { year=100; month=1; day=1; //日期为2000年1月1日 } public Birth( int y, int m, int d ) { 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,int d) { int DaysOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if (d>0&&d==DaysOfMonth[m]) return d; else { return 1; } } public String toString() { return year+1900+"年/"+month+"月/"+day+"日"; } public static void main(String args[]) { int age; Birth zhang=new Birth(94,02,17); System.out.println(" Zhang's birth is "+zhang.toString()); Date today=new Date(); age=today.getYear()-zhang.year; //Date是系统定义的日期类,通过它可以获得系统的当前日期,方法getYear()的功能是取得Date对象的年份值。 System.out.println(" Zhang is "+age+" years old "); } } 运行结果: zhang’s birth is 1994年2月17日 zhang is 13 years old
运行结果:
zhang’s birth is 1994年2月17日
zhang is 13 years old
例6_5 请指出下面程序中类成员变量与实例变的不同之处
class StaticTest { public int x=1; public static int y=1; } public class dxlt_6_5 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i; StaticTset.y=StaticTest.y+1; StaticTest m=new StaticTest(); StaticTest n=new StaticTest(); 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