博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Java基础入门第2版》--黑马程序员 课后答案及其详解 第3章 面向对象(上)
阅读量:542 次
发布时间:2019-03-09

本文共 3137 字,大约阅读时间需要 10 分钟。

文章目录

一.填空题

1、封装、继承、多态 2、this3、private、default、protected、public4、静态变量5、private

二.判断题

1、对  2、对  3、错  4、对  5、错

三.选择题

1、D   2、ABC   3、A  4、BC  5、BD

四.简答题

1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。

2、(1)方法名与类名相同;(2)在方法名的前面没有返回值类型的声明;(3)在方法中不能使用return语句返回一个值,但是可以单独写return语句来作为方法的结束。
3、Java面向对象有三大特性,封装是将对象的属性和行为封装起来,不需要让外界知道具体实现细节;继承是可以在无需重新编写原有类的情况下,对原有类的功能进行扩展;多态指的是在一个类中定义的属性和功能被其他类继承后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同行为特性。

五.编程题

1.class Student {
private String name; private double grade; public Student() {
} public Student(String name, double grade) {
this.name = name; this.grade = grade; } public String getName() {
return name; }public void setName(String name) {
this.name = name; } public double getGrade() {
return grade; } public void setGrade(double grade) {
this.grade = grade; }}public class Test01 {
public static void main(String[] args) {
Student stu1 = new Student(); stu1.setName("zhangsan"); stu1.setGrade(99); Student stu2 = new Student("lisi", 100); }}
2.public class Test {
public static void main(String[] args) {
int n = 8; int num = getNum(n); System.out.println("第"+n+"个数的数值是:"+num); } public static int getNum(int n) {
if (n == 1){
return 0; } else if (n == 2 || n == 3) {
return 1; } else {
return getNum(n - 1) + getNum(n - 2); } } }

六.原题及其解析

一.填空题

1.面向对象的三大特征是( )、( )和( )
2.在非静态成员方法中,可以使用关键字( )访问类的其他非静态成员
3.在Java中,针对类、成员方法和属性提供了四种访问级别,分别是( )、( )、( )和( )
4.被static关键字修饰的成员变量被称为( ),它可以被该类所有的实例对象共享。
5.所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用( )关键字来修饰。
二.判断题
1.在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。()
2.Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。()
3.声明构造方法时,不能使用private关键字修饰。()错×
4.类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。()
5.静态代码块会随着类对象的创建而执行。()
三.选择题
1.下面哪一个是正确的类的声明?()
A.public void HH{…} B.public class Move(){…} C.public class void number{.} D.public class Car{…}
2.下面对于构造方法的描述,正确的有哪些?(多选)()
A.方法名必须和类名相同
B.方法名的前面没有返回值类型的声明
C.在方法中不能使用return语句返回一个值
D.当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在
3.在Java中,针对类和提供了4种访问级别,以下控制级别由小到大依次列出正确的是()
A.private、default、protected和public
B.default、private、protected和public
C.protected、default、private和public
D.protected、private、default和public
4.请先阅读下面的代码

public class Test{
public Test(){
System.out.println("构造方法一被调用了");}public Test(int x){
System.out.println("构造方法二被调用了");}public Test(boolean b){
this(1);System.out.println("构造方法三被调用了");}public static void main(String[]args){
Test test = new Test(true);}}

上面程序的运行结果为下列哪一项?()

A.构造方法一被调用了 B.构造方法二被调用了 C.构造方法三被调用了 D.以上三个选项之和
5.以下关于static关键字的说法正确的是?(多选)()
A.static关键字可以修饰类 B.static关键字可以修饰成员 C.static关键字可以修饰所有的变量 D.static关键字可以修饰代码块
四.简答题
1.简述构造方法和普通的成员方法有什么区别
2.简述Java中构造方法须同时满足的条件
3.简述Java面向对象特性。
五.编程题
1.请按照以下要求设计一个学生类Student,并进行测试。要求如下:
(1)Student类中包含姓名、成绩两个属性。
(2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。
(3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值。
(4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。
2.定义一个这样的数列:0,1,1,2,3,5,…(斐波那契数列)。要求如下:
使用递归方法获取第n个数的数值。

转载地址:http://crisz.baihongyu.com/

你可能感兴趣的文章