随笔分类 -  emanual_谜题_类谜题(46-55)

摘要:某些时候,对于一个类来说,跟踪其创建出来的实例个数会非常用有,其典型实现是通过让它的构造器递增一个私有静态域来完成的。在下面的程序中,Creature类展示了这种技巧,而Creator类对其进行了操练,将打印出已经创建的Creature实例的数量。那么,这个程序会打印出什么呢? 这是一个捉弄人的问题 阅读全文
posted @ 2018-10-24 01:21 尐鱼儿 阅读(210) 评论(0) 推荐(0) 编辑
摘要:下面仍然是经典的Hello World程序的另一个变种。那么,这个变种将打印什么呢? 这个程序看起来似乎应该抛出NullPointerExceptioin异常,因为其main方法是在常量null上调用greet方法,而你是不可以在null上调用方法的,对吗?嗯,某些时候是可以的。如果你运次该程序,就 阅读全文
posted @ 2018-10-24 01:21 尐鱼儿 阅读(145) 评论(0) 推荐(0) 编辑
摘要:现在该轮到你写一些代码了。假设你有一个称为Thing的库类,它唯一的构造器将接受一个int参数: Thing实例没有提供任何可以获取其构造器参数的值的途径。因为Thing是一个库类,所以你不具有访问其内部的权限,因此你不能修改它。 假设你想编写一个称为MyThing的子类,其构造器将通过调用Some 阅读全文
posted @ 2018-10-24 01:20 尐鱼儿 阅读(136) 评论(0) 推荐(0) 编辑
摘要:下面的程序在一个类中计算并缓存了一个合计数,并且在另一个类中打印了这个合计数。那么,这个程序将打印出什么呢?这里给一点提示:你可能已经回忆起来了,在代数学中我们曾经学到过,从1到n的整数总和是n(n+1)/2。 草草地看一遍,你可能会认为这个程序从1加到了100,但实际上它并没有这么做。再稍微仔细地 阅读全文
posted @ 2018-10-24 00:18 尐鱼儿 阅读(150) 评论(0) 推荐(0) 编辑
摘要:下面这个程序有两个不可变的值类(value class),值类即其实例表示值的类。第一个类用整数坐标来表示平面上的一个点,第二个类在此基础上添加了一点颜色。主程序将创建和打印第二个类的一个实例。那么,下面的程序将打印出什么呢? main方法创建并打印了一个ColorPoint实例。println方法 阅读全文
posted @ 2018-10-23 23:50 尐鱼儿 阅读(379) 评论(0) 推荐(0) 编辑
摘要:本谜题要测试你对Java的两个最经典的操作符:instanceof和转型的理解程度。下面的三个程序每一个都会做些什么呢? 第一个程序,Type1,展示了instanceof操作符应用于一个空对象引用时的行为。尽管null对于每一个引用类型来说都是其子类型,但是instanceof操作符被定义为在其左 阅读全文
posted @ 2018-10-23 23:49 尐鱼儿 阅读(151) 评论(0) 推荐(0) 编辑
摘要:假如小报是可信的,那么摇滚之王“猫王”就会直到今天仍然在世。下面的程序用来估算猫王当前的腰带尺寸,方法是根据在公开演出中所观察到的他的体态发展趋势来进行投射。该程序中使用了Calendar.getInstance().get(Calendar.YEAR)这个惯用法,它返回当前的日历年份。那么,该程序 阅读全文
posted @ 2018-10-23 23:49 尐鱼儿 阅读(139) 评论(0) 推荐(0) 编辑
摘要:下面的程序对巴辛吉小鬣狗和其它狗之间的行为差异进行了建模。如果你不知道什么是巴辛吉小鬣狗,那么我告诉你,这是一种产自非洲的小型卷尾狗,它们从来都不叫唤。那么,这个程序将打印出什么呢? 随意地看一看,好像该程序应该只打印一个woof。毕竟,Basenji扩展自Dog,并且它的bark方法定义为什么也不 阅读全文
posted @ 2018-10-23 23:48 尐鱼儿 阅读(188) 评论(0) 推荐(0) 编辑
摘要:下面的程序使用了一个Counter类来跟踪每一种家庭宠物叫唤的次数。那么该程序会打印出什么呢? 我们听到两声狗叫和三声猫叫——肯定是好一阵喧闹——因此,程序应该打印2 woofs and 3 meows,不是吗?不:它打印的是5 woofs and 5 meows。所有这些多出来的吵闹声是从哪里来的 阅读全文
posted @ 2018-10-23 23:46 尐鱼儿 阅读(165) 评论(0) 推荐(0) 编辑
摘要:本谜题呈现给你了两个容易令人混淆的构造器。main方法调用了一个构造器,但是它调用的到底是哪一个呢?该程序的输出取决于这个问题的答案。那么它到底会打印出什么呢?甚至它是否是合法的呢? 传递给构造器的参数是一个空的对象引用,因此,初看起来,该程序好像应该调用参数类型为Object的重载版本,并且将打印 阅读全文
posted @ 2018-10-23 23:45 尐鱼儿 阅读(243) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示