1、chap5中6-14题,15题选做
6>
(构造函数)有以下代码
class MyClass{
int value;
}
public class TestMyClass{
public static void main(String args[]){ MyClass mc1 = new MyClass(); MyClass mc2 = new MyClass(10); System.out.println(mc1.value); System.out.println(mc2.value);
}
}
问:这个程序能否编译通过?如果可以,输出结果是什么?如果不可以,则应该如何修改?
编译不通过,修改方式有两种:
1
)不修改主方法:在
MyClass
类中添加两个构造方法,
一个是无参构造方法:
public MyClass(){}
一个是有一个
int
类型参数的构造方法:
public MyClass(int x){}
2
)不修改
MyClass
类:在主方法中删掉
“MyClassmc2 = new MyClass(10);”
和
“System.out.println(mc2.value);”
7>(面向对象基础)根据注释,把下面代码补充完整
//定义一个Dog 类 class Dog{
//定义一个name 属性,该属性为String 类型
______________________; //定义一个age 属性,该属性为int 类型
______________________; //定义一个sexual 属性,该属性为boolean 类型 //true 表示为公,false 表示为母
______________________; public Dog(){}
public Dog(String name, int age, boolean sexual){
//分别根据参数,设置Dog 类的属性
}
public void play(){ System.out.println(name + “ play”);
}
public void play(int n){
System.out.println(name + “ play ” + n + “ minutes”);
}
}
public class TestDog{
public static void main(String args[]){ Dog d; //创建一个Dog 对象,利用带参数的构造函数
//名字为joy,年龄为2 岁,性别为母
_________________; //调用Dog 对象无参的play 方法。
_________________; //调用Dog 对象有参的play 方法,参数为30
_________________;
}
}
class Dog{
public String name;//定义一个name 属性,该属性为String 类型
public int age;//定义一个age 属性,该属性为int 类型
//定义一个sexual 属性,该属性为boolean 类型,true 表示为公,false 表