笔记-07-(2)

单选题

1:下列信息中包含的内容不是类与对象关系的是( C)
A: 学生和小明同学
B: 电脑和联想Y430电脑
C: 猫和狗
D: 手机和华为P20手机

2:下列描述正确的是(A ) c
A: 类与对象之间是包含关系,类包含对象。
B: 类与对象之间是等价关系,类和对象其实是同一个概念。
C: 对象是类的实例,类是对象的模板。
D: 通过一个类,只能创建一个对象。

3:下列描述正确的是(C ) d
A: 类是描述事物的属性和行为的特征而对象是一类事物的模板
B: 类是事物的具体体现而对象是一组相关属性和行为的集合
C: 类和对象可以看成是一类事物的模板
D: 类是对一类事物的描述,是抽象的对象是一类事物的实例,是具体的

4:下列描述错误的是(D )
A: 在方法中的变量是局部变量
B: 局部变量随着方法的调用而存在,随着方法的调用结束而消失
C: 成员变量在类中、方法外
D: 局部变量有默认的初始化值

5:下列代码的运行结果是(C )

public class Student {
	private String name;
	private int age;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}


public class Demo{
	public static void main(String [] args){
        Student s = new Student();
        s.setName("小丽");
        s.setAge(16);
        System.out.println(s.getName() + "---" + s.getAge());
    }
}

A: 语法错误,编译报错。
B: 小丽 — 16
C: null — 16
D: 小丽 — 0

多选题

6:下列描述正确的是(ACD )
A: 面向对象思想是基于面向过程思想而来的,强调的是对象
B: 面向对象思想关注的是功能的每一个步骤
C: 面向对象思想完成一个功能,关注的是功能的结果,而不是每一个步骤,强调的是对象
D: 面向对象思想,关注的是对象,让对象帮我们完成一个功能,强调的是对象

7:下列描述正确的是(ABD )
A: 类的{}中定义的是类的成员,可以有成员变量和成员方法。
B: 定义成员变量时,可以不给变量赋值。
C: 必须先定义成员变量,再定义成员方法。
D: 成员变量的名字可以和局部变量的名字相同。

8:下列说法正确的是(ACD ) ABCD
A: 当成员变量和局部变量重名时,可以使用this来区分。
B: this可以调用本类的成员变量和成员方法。
C: this表示本类对象的引用。
D: 在方法中访问本类成员变量(非重名),可以省略this不写。

9:关于下列代码描述正确的是( BC)

public class Demo{
	int num1;
	public void method(){
		int num2;
		System.out.println(num1);
		System.out.println(num2);
	}
}

public class Test{
	public static void main(String[] args){
		Demo d = new Demo();
		d.method();
	}
}

A: Demo中num1和num2都是成员变量
B: Demo中变量num1是成员变量,method方法中变量num2是局部变量
C: 编译报错,因为num2是局部变量,没有赋值,不能直接使用
D: 调用Demo中的method的方法会在控制台输出:0 0

10:下列横线处填写Person类的构造方法的正确语法格式是(BC )

public class Person{
	private String name;
	__________________
}

A
public void Person(String name){
 	 name = name;
}

B
public Person(){
}

C
public Person(String name){
 	 this.name = name;
}

D
public Person(String name){
 	return name;
}

代码题

1.训练案例1

1.1.训练描述

分析以下需求,并用代码实现

​ 1.猫类Cat

​ 属性:

​ 毛的颜色color

​ 品种breed

​ 行为:

​ 吃饭eat()

​ 抓老鼠catchMouse()

​ 2.狗类Dog

​ 属性:

​ 毛的颜色color

​ 品种breed

​ 行为:

​ 吃饭eat()

​ 看家lookHome()

要求:

​ 1.按照以上要求定义Cat类和Dog类,属性要私有,生成空参、有参构造,setter和getter方法

​ 2.定义测试类,在main方法中创建该类的对象并给属性赋值(演示两种方法:setter方法和构造方法)

​ 3.调用成员方法,测试代码效果

1.2:案例效果

打印格式如下:

​ 花色的波斯猫正在吃鱼…

​ 蓝色的英国短毛猫正在逮老鼠…

​ 黑色的德牧正在啃骨头…

​ 黑色的藏獒正在看家…

package com.shengda.KuoZhan01;

public class Cat {
    private String color;
    private String breed;

    public Cat() {
    }

    public Cat(String color, String breed) {
        this.color = color;
        this.breed = breed;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getBreed() {
        return breed;
    }

    public void setBreed(String breed) {
        this.breed = breed;
    }

    public void eat(){
        System.out.println(color+"的" + breed +"正在吃鱼......");
    }
    public void catchMouse(){
        System.out.println(color+"的" + breed +"正在逮老鼠......");
    }
}
==============================================
    package com.shengda.KuoZhan01;

public class Dog {
    private String color;
    private String breed;

    public Dog() {
    }

    public Dog(String color, String breed) {
        this.color = color;
        this.breed = breed;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getBreed() {
        return breed;
    }

    public void setBreed(String breed) {
        this.breed = breed;
    }

    public void eat(){
        System.out.println(color+"的" + breed +"正在啃骨头......");
    }
    public void lookHome(){
        System.out.println(color+"的" + breed +"正在啃看家......");
    }

}
===================================================
    package com.shengda.KuoZhan01;

public class test {
    public static void main(String[] args) {
        Cat c = new Cat();
        c.setColor("花色");
        c.setBreed("波斯猫");
        c.eat();
        Cat c1 = new Cat("蓝色","英国短毛猫");
        c1.catchMouse();
        Dog d = new Dog();
        d.setColor("黑色");
        d.setBreed("德牧");
        d.eat();
        Dog d1 = new Dog("黑色","藏獒");
        d1.lookHome();
    }
}

2.训练案例2

2.1.训练描述

请设计一个汽车类,模拟出司机开车载乘客兜风的场景;在测试类中分别使用空参数构造方法创建对象和带参数构造方法创建对象并调用run方法,测试效果;

要求:

1:汽车类包含的成员变量

​ 品牌,价格,颜色

2:汽车类包含的成员方法

​ getter/setter方法

​ run方法,有字符串类型的司机和乘客两个形参,无返回值

3:有带参数构造方法和空参数构造方法

2.2:案例效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wXkHxIz3-1607173532968)(assets/1599037481013.png)]

package com.shengda.KuoZhan02;

public class Car {
    private String breed;
    private Double prise;
    private String color;

    public Car() {
        System.out.println("空参构造方法执行了......");
    }

    public Car(String breed, Double prise, String color) {

        this.breed = breed;
        this.prise = prise;
        this.color = color;
        System.out.println("带参构造方法执行了......");
    }

    public String getBreed() {
        return breed;
    }

    public void setBreed(String breed) {
        this.breed = breed;
    }

    public Double getPrise() {
        return prise;
    }

    public void setPrise(Double prise) {
        this.prise = prise;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;

    }
    public void run(String name1,String name2){
        System.out.println(name1+ "开着" +color+"的"+ prise + "万元的"+breed +"车载着" +name2+"去兜风了");
    }

}
------------------------------------------------
    package com.shengda.KuoZhan02;

public class test {
    public static void main(String[] args) {
        Car c = new Car();
        c.setColor("黑色");
        c.setPrise((double) 60);
        c.setBreed("迈巴赫s60");
        c.run("云云哥","芙蓉姐");
        System.out.println("-----------------------");
        Car c1 = new Car("五菱之光",3.8,"灰色");
        c1.run("凤姐","华腾哥");

    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值