类和对象基础题
一、 类和对象基础题
1.编写一个Java应用程序,该程序中有3个类:Ladder、Circle和主类A。具体要求如下:Ladder类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Ladder和类Circle的功能。
package com.duixiang.hry; //梯形 public class Ladder { //属性 double shangDi;//上底 double xiaDi;//下底 double gao;//高 double mianji;//面积 //构造方法 Ladder(double sd,double xd,double g)//调用这个方法,把参数传进去 { shangDi=sd; xiaDi=xd; //参数 gao=g; //计算面积 mianji=(sd+xd)*g/2; } //成员方法 //返回面积 //返回类型 方法名(参数列表) //写void没有返回值,把返回值的数据类型写到前面 double getMianji() { //返回语句 return mianji; } } package com.duixiang.hry; public class Circle { double banjing; double zhouchang; double mianji; Circle(double r) { banjing=r; zhouchang=2*3.14*r; mianji=3.14*r*r; } double getl() { return zhouchang; } double getm() { return mianji; } } package com.duixiang.hry; public class Test03 { public static void main(String[] args) { // TODO 自动生成的方法存根 //实例化梯形 Ladder l1=new Ladder(10,20,5); //得到面积 System.out.println("梯形的面积="+l1.getMianji()); l1=new Ladder(30,50,20); //如果再次写Ladder l1=new ladder(30,50,20),相当于与上面重名,不允许, //再起一个,或者像上一行写的l1=new Ladder(30,50,20); //得到面积 System.out.println("梯形的面积="+l1.getMianji()); Circle l2=new Circle(1); System.out.println("圆的周长"+l2.getl()); System.out.println("圆的面积"+l2.getm()); } }
2.按要求编写Java应用程序:
(1)编写西游记人物类(XiYouJiRenWu)
其中属性有:身高(height),名字(name),武器(weapon)
方法有:显示名字(printName),显示武器(printWeapon)
(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他
们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法
显示二个对象的属性值。
//西游记 class XiYouJiRenWu { String height,name,weapon; XiYouJiRenWu(String h,String n,String w) { height=h; name=n; weapon=w; } String printName() { return name; } String printWeapon() { return weapon; } } XiYouJiRenWu s=new XiYouJiRenWu("","孙悟空","金箍棒"); System.out.println(s.printName()); System.out.println(s.printWeapon()); XiYouJiRenWu z=new XiYouJiRenWu("","猪八戒","九齿钉耙"); System.out.println(z.printName()); System.out.println(z.printWeapon()); }
}
3.编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变
量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,
编写一个主类,在主类中测试Account类的功能。
//银行账户 class Account{ //属性 String zhanghao;//账号 double yue;//余额 //构造方法 Account(String zh) { zhanghao=zh;//给账号赋值 } //同时存钱 Account(String zh,double ck) { zhanghao=zh; yue+=ck; } //成员方法 //存钱 void cunQian(double ck) { yue+= ck; System.out.println("存入"+ck);//求参数无函数值 } //取钱//有参数又返回值 boolean quQian(double qk)//取钱成功或失败 { if(qk<=yue) { yue-=qk; System.out.println("取出"+qk); return true; } else { //这两行不能换循序,return写在最后,return结束运行了,比break还强 System.out.println("余额不足"); return false; } } //获取余额 double getYue() { return yue; } //显示账号和余额//无参数无返回值 void showAccount() { System.out.println("账号="+zhanghao+"余额="+yue); } } //测试账号Account Account ac1=new Account("123",1000); ac1.showAccount(); ac1.cunQian(100); ac1.quQian(900); if(ac1.quQian(300)) { System.out.println("取钱成功"); } else { System.out.println("取钱失败"); } ac1.showAccount(); } }
4.编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型
成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)
进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义
一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这
些对象调用方法show()来显示时钟的时间。