关于《Java读书笔记》第六章课后习题选择题总结与疑问
课后习题
选择题 3 题
代码:
class Some{
String ToString(){
return "Some instance";
}
}
public class Main {
public static void main(String[] args) {
Some some=new Some();
System.out.println(some);
}
}
截屏结果为:

因class Some里并没有构造函数,所以系统自动为其加了个无参数无内容的构造函数,对于 some 来说,some=new Some(),即 some 此时指向的对象并没有初始内容,那么这时结果输出的 Some@XXXX,XXXX为十六进制数字 代表什么呢?
选择题 4 题
代码:
class Some1{
int hashCode(){
return 99;
}
}
class Main1{
public static void main(String[] args) {
Some1 some=new Some1();
System.out.println(some.hashCode());
}
}
代码编译失败
修改代码:
class Some1{
public int hashCode(){
return 99;
}
}
class Main1{
public static void main(String[] args) {
Some1 some=new Some1();
System.out.println(some.hashCode());
}
}
(在 int hashCode()前加了 public )
截屏结果为:

这就是所说的,重新定义方法要注意,对于父类中的方法权限,只能扩大但不能缩小;是不是也意味着,自己得多熟悉 object 里面的方法名称。
选择题 9 题
代码:
class Soo{
Soo(){
this(10);
System.out.println("Soo()");
}
Soo(int x){
System.out.println("Soo(int x)");
}
}
class Other extends Soo{
Other(){
super(10);
System.out.println("Other()");
}
Other(int y){
System.out.println("Other(int y)");
}
}
class Useos{
public static void main(String[] args) {
System.out.println(new Other());
System.out.println();
System.out.println(new Other(10));
System.out.println();
System.out.println(new Soo());
}
}
结果截屏为:

可以看到,除了由调用构造函数引起的输出,还有一个,类似 选择题 3 题 的结果。
改成先定义再输出
代码:
class Useos1{
public static void main(String[] args) {
Other other=new Other();
System.out.println();
Other other2=new Other(10);
System.out.println();
Soo soo=new Soo();
System.out.println();
System.out.println(other);
System.out.println();
System.out.println(other2);
System.out.println();
System.out.println(soo);
}
}
结果截屏为:

说明,在创建对象的时候,构造函数已经开始调用。
也就是说,在直接输出中,如System.out.println(new Other());,相当于,它会先调用构造函数,函数执行完后,再执行System.out.println(other);。
关于《Java读书笔记》第六章课后习题选择题总结与疑问的更多相关文章
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- C primer plus 读书笔记第六章和第七章
这两章的标题是C控制语句:循环以及C控制语句:分支和跳转.之所以一起讲,是因为这两章内容都是讲控制语句. 第六章的第一段示例代码 /* summing.c --对用户输入的整数求和 */ #inclu ...
- 《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(1)
<Microsoft Sql server 2008 Internals>索引文件夹: <Microsoft Sql server 2008 Internals>读书笔记--文 ...
- [Effective Java 读书笔记] 第三章类和接口 第十六条
第十六条 复合优先于继承 如果不确定B和A的关系是,is-a的关系,B确实也是A,那么久不应该使用B继承A,否则会暴露实现细节, 你的实现都会限制在原始的实现上. 书中举的第一个例子,实现了一个类ex ...
- 《Java核心技术(卷一)》读书笔记——第六章:内部类
1. 内部类的概念? 类中类 2. 为什么要用内部类? 内部类的方法可以访问外部类的实例域 内部类对外部类的同一个包中的类实现了隐藏 匿名内部类在“想要定义一个回调函数却又不想编写 ...
- Java 学习笔记 ------第六章 继承与多态
本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分 ...
- [Effective Java 读书笔记] 第8章 通用程序设计
本章主要讲了以下几条基本的JAVA编程原则: 1.将局部变量的作用域控制在最小,在使用时才定义 2.for-each优于for循环 有三个例外(1,2点主旨就是,for each只能用于读取,不能用于 ...
- [Effective Java 读书笔记] 第三章 对所有对象都通用的方法 第八 ---- 九条
这一章主要讲解Object类中的方法, Object类是所有类的父类,所以它的方法也称得上是所有对象都通用的方法 第八条 覆盖equals时需要遵守的约定 Object中的equals实现,就是直接对 ...
- 《利用python进行数据分析》读书笔记--第六章 数据加载、存储与文件格式
http://www.cnblogs.com/batteryhp/p/5021858.html 输入输出一般分为下面几类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据.利用Web API ...
随机推荐
- sencha touch 入门系列 (五)sencha touch运行及代码解析(上)
由于最近项目比较忙,加之还要转战原生开发,所以很久没更新了,今天我们接着上一次的内容往下讲: 首先我们打开index.html,这是我们整个程序的访问入口,也是整个项目的引入地: <!DOCTY ...
- intellijIDEA常用快捷键以及和Eclipse快捷键的对照
CTRL + D 复制当前行到下一行 相当于eclipse中的 CTRL + SHIFT + 下 CTRL + / 单行注释和反注释 CTRL +SHIFT + / 块儿注释和反注释 CTRL ...
- 去面试H5游戏问的一些问题
首先肯定是自我介绍,然后问一些基础题,然后问简历上的相关问题. 1. WebSocket和Socket的区别 2.Http和Https的区别,get和post区别 3.进程和线程 4.H5的渲染流程 ...
- exports和module.exports区别
参考:module.exports与exports的区别.关于exports的总结 exports 和 module.exports 的区别 module.exports是真正的模块接口,而expor ...
- 【BZOJ4149】[AMPPZ2014]Global Warming 单调栈+RMQ+二分
[BZOJ4149][AMPPZ2014]Global Warming Description 给定一个序列a[1],a[2],...,a[n].请从中选出一段连续子序列,使得该区间最小值唯一.最大值 ...
- 【BZOJ3932】[CQOI2015]任务查询系统 主席树
[BZOJ3932][CQOI2015]任务查询系统 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si, ...
- App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
[摘要: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecur ...
- Eclipse初体验
Eclipse有很多个版本: 这里我们下载Eclipse for javaEE版,既可以写javaSE代码又可以写web代码,省去了很多插件配置的时间.官网下载地址:http://www.eclips ...
- 并查集+路径压缩(poj1988)
http://poj.org/problem?id=1988 Cube Stacking Time Limit: 2000MS Memory Limit: 30000K Total Submiss ...
- 字符串处理(String)
字符串类型(String类)需要注意的几个函数: 1.字符串的连接.一般而言,Java不允许运算符直接应用到String对象,唯一的例外是"+"运算符,它用来连接两个字符串,产生一 ...