Java面向对象编程练习题答案0要点 下载本文

{

public static void main(String args[]){ Person per = new Person(\奥巴马\ per.getName(); per.getInfo(); } }

【练习题】07.构造方法与重载

为“无名的粉”写一个类:class WuMingFen 要求:

1.有三个属性:面码:String theMa 粉的分量(两):int quantity 是否带汤:boolean likeSoup

2.写一个构造方法,以便于简化初始化过程,如: WuMingFen f1 = new WuMingFen(\牛肉\3.重载构造方法,使得初始化过程可以多样化: WuMingFen f2 = new WuMingFen(\牛肉\

4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的? WuMingFen f3 = new WuMingFen();

5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。 class WuMingFen {

String theMa; int quantitu;

boolean likeSoup; public WuMingFen(){ }

public WuMingFen(String theMa,int quantitu){ this.theMa = theMa; this.quantitu = quantitu; }

public WuMingFen(String theMa,int quantitu,boolean likeSoup){ this(theMa,quantitu); this.likeSoup = likeSoup; }

public void check(){

System.out.println(\面码:\粉的份量:\是否带汤:\ } }

public class b01 {

public static void main(String args[]){

WuMingFen f1 = new WuMingFen(\牛肉\ WuMingFen f2 = new WuMingFen(\牛肉\ WuMingFen f3 = new WuMingFen(); f1.check(); f2.check(); f3.check(); } }

【练习题】08.构造方法的重载:

定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。

编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。 编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。 在main方法中测试以上各类。 class Vehicles {

private String brand; private String color;

public Vehicles(String brand,String color){ this.brand = brand; this.color = color; }

void run(){ System.out.println(\我已经开动了\ }

void showInfo(){ System.out.println(\商标:\颜色:\ } }

class Car extends Vehicles {

private int seats;

public Car(String brand,String color,int seats){ super(brand,color); this.seats = seats; }

void showCar(){ super.showInfo(); System.out.println(\座位:\

} }

class Truck extends Vehicles{ private float load;

public Truck(String brand,String color,float load){ super(brand,color); this.load = load; }

void showTruck(){ super.showInfo();

System.out.println(\载重:\ } }

public class b01 {

public static void main(String args[]){

Vehicles f1 = new Vehicles(\宝马\白色\ Car f2 = new Car(\法拉利\黑色\

Truck f3 = new Truck(\解放\绿色\ f1.run();

f1.showInfo(); f2.run();

f2.showCar(); f3.run();

f3.showTruck(); } }

【练习题】09.构造方法与重载

定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串\class NetUser {

private String ID; private String key;

private String emailDress;

public NetUser(String ID,String key){ this.ID = ID; this.key = key;

this.emailDress = ID+\ }

void output(){ System.out.println(\:\用户密码\用户地址

\ } }

public class b01 {

public static void main(String args[]){ NetUser user = new NetUser(\ user.output(); } }

【练习题】10.构造方法与重载、包

编写Addition类,该类中应包含一组实现两数相加运算的重载方法。 实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。 在main方法中创建Addition类的实例,分别调用重载方法测试其效果。 应将Addition类打入到包中,以自己名字的拼音为包命名。 package yan.cong; class Addition{

public Addition(){ }

void add(int a,int b){ int c = a+b;

System.out.println(\}

void add(long a,long b){ long c = a+b;

System.out.println(\ }

void add(float a,float b){ float c = a+b;

System.out.println(\ }

void add(double a,double b){ double c = a+b;

System.out.println(\ }

void add(String a,String b){ String c = a+b;

System.out.println(\ } }

public class b01

{

public static void main(String args[]){ Addition m = new Addition(); Addition n = new Addition(); m.add(5,6); n.add(\ } }

【练习题】11.构造方法与重载

将上次练习题三中编写的MyTime类打到以自己名字的拼音命名的包中,并为该类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。 package yan.cong; class MyTime {

private int hour; private int minute; private int second;

public MyTime(int hour,int minute,int second){ this.hour = hour; this.minute = minute; this.second = second; }

public MyTime(int minute,int second){ this.minute = minute; this.second = second; }

void diaplay(){

System.out.println(\时间:\ ); }

void addSecond(int sec){ second = second+sec; }

void addMinute(int min){ minute = minute+min; }

void addHour(int hou){ hour = hour+hou; }

void subSecond(int sec){ second = second-sec; }

void subMinute(int min){ minute = minute-min;