海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java教程:面向对象课后习题

未分类
2020-08-11 10:17:57
1822677238@qq.com

手机扫码查看

2020java教程:面向对象课后习题

面向对象课后习题

将下面代码填充完整

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;
    }
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注