Java面向对象---练习

练习
一、单选

1、有关Java中的类和对象,以下说法错误的是 B
A. 同一个类的所有对象都拥有相同的特征和行为
B. 类和对象一样,只是说法不同
C. 对象是具有属性和行为的实体
D. 类规定了对象拥有的特征和行为
2、在java中,以下程序的运行结果是 A
Java面向对象---练习_第1张图片
A. 输出:null
B. 正常运行,但不会输出任何内容
C. 编译出错,不能运行
D. 能运行,但运行时会出现异常
3、下面代码运行的正确结果是 D
Java面向对象---练习_第2张图片
A. 编译错误,无法正常运行
B. 编译正确,但运行时产生错误
C. hello
D. world
4、哪个空间用于存储使用new关键字所创建的对象 A
A. 堆
B. 栈
C. 方法区
D. 实例区
5、分析下面的Java代码,编译运行结果是 C
Java面向对象---练习_第3张图片
A. 运行结果为:学号:1 姓名:张三
B. 运行结果为:学号:null 姓名:张三
C. 程序出现编译错误
D. 程序出现运行时异常
6、下面的哪几项是合法的构造方法重载(多选)AC
Java面向对象---练习_第4张图片
A. public Display(String s){}
B. public int display(int n1,int n2){}
C. Display (int …a){}
D. public display(Strnig s,int a){}
7、运行结果为(A)
Java面向对象---练习_第5张图片
A. mainboard:华硕,cpu:Intel
B. mainboard:s1,cpu:s2
C. mainboard:Intel,cpu:华硕
D. 华硕,Intel
8、在Java中,以下程序编译运行后的输出结果为(D )
Java面向对象---练习_第6张图片
A. 6
B. 3 4
C. 8
D. 7
9、在Java中,下列关于this的说法错误的选项是(多选)BC
A. 在构造方法中如果使用this调用其他构造方法,只能是第一条语句
B. 不能在构造方法中调用同一个类的其他构造方法
C. 在构造方法在中如果使用this调用其他构造方法,语句可以放在任意位置
D. 可以使用“this.方法名()”或“this.属性名”来引用当前对象的成员
二、编程

1、创建Person类和测试类
属性:名字(name),年龄(age),年级( grade)
方法:
无参无返回值的student方法,描述为:我是一名学生!
带参数(性别sex)的方法,描述为:我是一个**孩!(其中,**为传入参数)
无参无返回值的mySelf方法,介绍自己的姓名、年龄、年级(参数参考效果图)

package com.myobject;

public class Person {
	public String name;
	public int age;
	public String grade;
	public void student() {
		System.out.println("我是一名学生!");
	}
	public void sex(String sex) {
		System.out.println("我是一个" + sex + "孩!");
	}
	public void mySelf() {
		System.out.println("我的姓名:" + name);
		System.out.println("今年" + age + "岁了");
		System.out.println( grade + "了");
	}
}

package com.myobject;

public class Test {
	public static void main(String[] args) {
		//使用new关键字实例化对象
		Person person = new Person();
	    //传入name、age、grade的参数值
		person.name = "小明";
		person.age = 10;
		person.grade = "三年级四班";
		//分别调用student、sex、mySelf方法
		person.student();
		person.sex("男");
		person.mySelf();
	}
}

我是一个男孩!
我的姓名:小明
今年10岁了
三年级四班了

}
2、编写自定义猴子类
Java面向对象---练习_第7张图片
效果图:
Java面向对象---练习_第8张图片

package com.myobject;

public class Monkey {
	//属性:姓名(name)、特征(feature)
    String name;
    String feature;
    //无参的构造方法(默认初始化name和feature的属性值,属性值参考效果图)
    public Monkey() {
    	System.out.println("我是使用无参构造产生的猴子:");
    	this.name = "长尾猴";
    	this.feature = "尾巴长";
    }
    //带参的构造方法(接收外部传入的参数,分别向 name 和 feature 赋值)
    public Monkey(String name,String feature) {
    	System.out.println("我是使用带参构造产生的猴子:");
    	this.name = name;
    	this.feature = feature;
    }
}

package com.myobject;

public class MonkeyTest {
	public static void main(String[] args) {
		Monkey one = new Monkey();
		System.out.println("名称:" + one.name);
		System.out.println("特征:" + one.feature);
		System.out.println("------------------------");
		Monkey two = new Monkey("白头叶猴","头上有白毛,喜欢吃树叶");
		System.out.println("名称:" + two.name);
		System.out.println("特征:" + two.feature);
	}
}

我是使用无参构造产生的猴子:
名称:长尾猴
特征:尾巴长
------------------------
我是使用带参构造产生的猴子:
名称:白头叶猴
特征:头上有白毛,喜欢吃树叶

你可能感兴趣的:(Java面向对象---练习)