未分类
2020-08-11 10:17:57
1822677238@qq.com
手机扫码查看
面向对象课后习题
将下面代码填充完整
public class demos{
public static void main(String[] args) {
//创建一个狗对象,调用有参构造
//名为joy,年龄2岁,性别为母
Dog d=new Dog("joy",2,false);
//调用该对象的无参play方法
d.play();
//调用该对象的有参play方法,参数为30
d.play(30);
}
}
//定义Dog类
class Dog{
//定义name属性,属性String类型
String name;
//定义age属性,属性int类型
int age;
//定义sex属性,属性boolean类型
//true为公,false为母
boolean sex;
//定义无参和有参构造方法为属性赋值
public Dog(){}
public Dog(String name,int age,boolean sex){
this.name=name;
this.age=age;
this.sex=sex;
}
//定义play方法无参和有数值类型的参数方法
public void play(){
System.out.println(name+"play");
}
public void play(int n){
System.out.println(name+"play"+n+"Hours");
}
}
对象创建过程
public class demos{
public static void main(String[] args) {
ClassC c=new ClassC();
//输出结果是什么?
//ClassA()
//ClassC()
//ClassB()
}
}
class ClassA{
public ClassA(){
System.out.println("ClassA()");
}
}
class ClassB{
public ClassB(){
System.out.println("ClassB()");
}
}
class ClassC{
ClassA a=new ClassA();
ClassB b;
public ClassC(){
System.out.println("ClassC()");
b=new ClassB();
}
}
引用,方法参数传递
public class demos{
public static void main(String[] args) {
//请写出运行结果
int value=10;
ChangeInt(value);//10++
System.out.println(value);//10
ClassA c=new ClassA();//地址 0X0000A001
c.value=10;//10
ChangeObject(c);//地址 0X0000A001
System.out.println(c.value);//10++ =11
}
public static void ChangeInt(int value){
value++;
}
public static void ChangeObject(ClassA c){
c.value++;
}
}
class ClassA{
int value;
}
面向对象的创建
一、写一个 worker类,并创建多个 worker对象
1.为 worker添加三个属性
姓名、年龄、工资
2.为 worker添加两个构造方法
1.公开无参方法 2.接收三参的构造方法
3.为 worker添加两个 work方法
1.无参 work方法 2.带整数参数 work方法(时间)
二、写一个 Address 类
1.该类有两个属性:
a. String address;表示地址 b. String zipCode;表示邮编
2.写两个构造方法
a. 无参构造方法;b. 两参构造方法
三、综合题
1.为 题一中的 worker类添加addr属性,类型为 Address
要求:创建一个 worker 对象,其姓名为 "张三",年龄25,工资2500
地址为 "address" 邮编为 100100
class Worker{
String name;
int age;
double salary;
Address addr;
public Worker() {}
public Worker(String name, int age, double salary, Address addr) {
this.name = name;
this.age = age;
this.salary = salary;
this.addr = addr;
System.out.println("姓名:"+this.name+",年龄:"+this.age+",工资:"+
this.salary+",地址:"+addr.address+",邮编:"+addr.zipCode);
}
public void work(){
System.out.println(name+"正在工作");
}
public void work(int n){
System.out.println(name+"工作了"+n+"小时");
}
}
public class demos{
public static void main(String[] args) {
Worker w1=new Worker("张三",25,2500,
new Address("我在你心里呀","100100"));
w1.work();
w1.work(50);
}
}
class Address{
String address;
String zipCode;
public Address() {}
public Address(String address, String zipCode) {
this.address = address;
this.zipCode = zipCode;
}
}



发表回复