欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java面向对象练习

程序员文章站 2022-04-03 17:15:00
...

一、单选

  1. 有关Java中的类和对象,以下说法错误的是 B
    A. 同一个类的所有对象都拥有相同的特征和行为
    B. 类和对象一样,只是说法不同
    C. 对象是具有属性和行为的实体
    D. 类规定了对象拥有的特征和行为

  2. 在java中,以下程序的运行结果是 A
    Java面向对象练习
    A. 输出:null
    B. 正常运行,但不会输出任何内容
    C. 编译出错,不能运行
    D. 能运行,但运行时会出现异常

  3. 下面代码运行的正确结果是 D
    Java面向对象练习
    A. 编译错误,无法正常运行
    B. 编译正确,但运行时产生错误
    C. hello
    D. world

  4. 哪个空间用于存储使用new关键字所创建的对象 A
    A. 堆
    B. 栈
    C. 方法区
    D. 实例区

  5. 分析下面的Java代码,编译运行结果是 C
    Java面向对象练习
    A. 运行结果为:学号:1 姓名:张三
    B. 运行结果为:学号:null 姓名:张三
    C. 程序出现编译错误
    D. 程序出现运行时异常

  6. 下面的哪几项是合法的构造方法重载(多选) AC
    Java面向对象练习
    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面向对象练习
    A. mainboard:华硕,cpu:Intel
    B. mainboard:s1,cpu:s2
    C. mainboard:Intel,cpu:华硕
    D. 华硕,Intel

  8. 在Java中,以下程序编译运行后的输出结果为( ) D
    Java面向对象练习
    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方法,介绍自己的姓名、年龄、年级(参数参考效果图)
public class Person {
	String name;
	int age;
	int grade;
	
	public void student() {
		System.out.println("我是一名学生!");
	}
	
	public void sex(String sex) {
		System.out.println("我是一个" + sex + "孩!");
	}
	
	public void myself() {
		System.out.println("我叫" + name + ",今年" + age + "岁,在读" + grade + "年级!");
	}
}
public class Test {

    public static void main(String[] args) {
      //使用new关键字实例化对象
		Person a = new Person();
      //传入name、age、grade的参数值
		a.name = "a";
		a.age = 10;
		a.grade = 4;

      //分别调用student、sex、mySelf方法
		a.student();
		a.sex("男");
		a.myself();



	}

}

2.编写自定义猴子类
Java面向对象练习
效果图:
Java面向对象练习

public class Monkey {
    //属性:姓名(name)、特征(feature)
    String name;
	String feature;

    //无参的构造方法(默认初始化name和feature的属性值,属性值参考效果图)
    public Monkey() {
		this.name = "长尾猴";
		this.feature = "尾巴长";
	}
    

    //带参的构造方法(接收外部传入的参数,分别向 name 和 feature 赋值)
    public Monkey(String name, String feature) {
		this.name = name;
		this.feature = feature;
	}
}
public class Test {
	public static void main(String[] args) {
		Monkey changweihou = new Monkey();
		System.out.println("我是使用无参构造生产的猴子:");
		System.out.println("名称:" + changweihou.name);
		System.out.println("特征:" + changweihou.feature);
		
		System.out.println("=====================");
		
		Monkey baitouyehou = new Monkey("白头叶猴", "头上有白毛,喜欢吃树叶");
		System.out.println("我是使用带参构造生产的猴子:");
		System.out.println("名称:" + baitouyehou.name);
		System.out.println("特征:" + baitouyehou.feature);
	}
}