博客
关于我
《Java基础入门第2版》--黑马程序员 课后答案及其详解 第3章 面向对象(上)
阅读量:547 次
发布时间:2019-03-09

本文共 3117 字,大约阅读时间需要 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/

你可能感兴趣的文章
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>
mysqlreport分析工具详解
查看>>
MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
查看>>
Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
查看>>
mysql_real_connect 参数注意
查看>>
mysql_secure_installation初始化数据库报Access denied
查看>>