20200710Java面向对象练习

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

2.在java中,以下程序的运行结果是 A
在这里插入图片描述
A. 输出:null
B. 正常运行,但不会输出任何内容
C. 编译出错,不能运行
D. 能运行,但运行时会出现异常

3.下面代码运行的正确结果是 D
在这里插入图片描述
A. 编译错误,无法正常运行
B. 编译正确,但运行时产生错误
C. hello
D. world

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

5.分析下面的Java代码,编译运行结果是 C
在这里插入图片描述
A. 运行结果为:学号:1 姓名:张三
B. 运行结果为:学号:null 姓名:张三
C. 程序出现编译错误
D. 程序出现运行时异常

6.下面的哪几项是合法的构造方法重载(多选)AC
在这里插入图片描述
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
在这里插入图片描述
A. mainboard:华硕,cpu:Intel
B. mainboard:s1,cpu:s2
C. mainboard:Intel,cpu:华硕
D. 华硕,Intel

8.在Java中,以下程序编译运行后的输出结果为(D
在这里插入图片描述
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 Test {
	public static void main(String[] args) {
		//使用new关键字实例化对象
		Person person = new Person();
		//传入name、age、grade的参数值
		person.name = "小明";
		person.age = 12;
		person.grade = 6;
		//分别调用student、sex、mySelf方法
		person.student();
		person.sex('男');
		person.mySelf();
	}
}
class Person {
	public String name;
	public int age;
	public int grade;
	public void student() {
		System.out.println("我是一名学生!");
	}
	public void sex(char sex) {
		System.out.println("我是一个"+sex+"孩!");
	}
	public void mySelf() {
		System.out.println("我叫"+this.name+",今年"+this.age+"岁,"+this.grade+"年级");
	}
}

2.编写自定义猴子类
在这里插入图片描述
效果图:
在这里插入图片描述

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 monkey1 = new Monkey();
		Monkey monkey2 = new Monkey("白头叶猴","头上有白毛,喜欢吃树叶");
		System.out.println("我是使用无参构造产生的猴子:");
		System.out.println("名称:"+monkey1.name+"\n特征:"+monkey1.feature);
		System.out.println("============================");
		System.out.println("我是使用带参构造产生的猴子:");
		System.out.println("名称:"+monkey2.name+"\n特征:"+monkey2.feature);
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第四章 类和对象 [习题] 1.类及类成员的访问控制符有哪些? 2.为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调 用? 3.关键字static可以修饰哪些类的组成部分? 4.静态属性有什么特点?类对象可以访问或修改静态属性吗? 5.同名的不同方法共存的情况称为什么?如何区分这些同名方法? 6.什么是包?如何创立包?为什么要使用包?包物理地对应什么? 7.试写出一个语句创立一个名为MyPackage的包,这个语句应该放在程序的什么位置 ? 8.如何引用整个包?如何引用包的一个类?试写出引用MyPackage所有类的语句和 引用MyPackage包的一个类MyClass1。 9.阅读下面的程序,说明它们的输出。 public class UseRef{ public static void main(String args[]){ MyClass1 myobj,myref; myobj=new MyClass1(-1); myref=myobj; "+myobj.getData()); myref.setData(10); } } class MyClass1{ int data; MyClass1(int d){ data=d; } int getData(){ return data; } void setData(int d){ data=d; } } 10.编写一个类实现秒表的功能。要求至少实现开始计时、停顿计时、分针秒针归零 、获得分针示数、获得秒针示数、获得总时间的毫秒数等功能。 11.编写一个类实现复数的运算。要求至少实现复数相加、复数相减、复数相乘等功 能。 12.编程创立一个Box类,在其定义三个变量表示一个立方体的长、宽和高,定义 一个构造方法对这三个变量进展初始化,然后定义一个方法求立方体的体积。创立一个 对象,求给定尺寸的立方体的体积。 13.定义一个学生类〔Student〕,属性包括:学号,班号,姓名,性别,年龄,班 级总人数;方法包括:获得学号,获得班号,获得姓名,获得性别,获得年龄,获得班 级总人数,修改学号,修改班号,修改姓名,修改性别,修改年龄以及一个toString() 方法将Student类的所有属性组合成一个字符串。定义一个学生数组对象。设计程序进 展测试。 14.定义一个学生类和一个课程类,要求可以表示现实生活一个学生可以选择多门 课程的情况。编写程序进展测试。 ----------------------- java面向对象程序设计习题-(11)全文共2页,当前为第1页。 java面向对象程序设计习题-(11)全文共2页,当前为第2页。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值