mirror of
https://github.com/LingCoder/OnJava8.git
synced 2026-08-24 15:03:29 +08:00
Merge pull request #131 from notUlnix/master
update the translation of "derived class"
This commit is contained in:
@@ -472,7 +472,7 @@ public class Parcel8 {
|
||||
- \[1\] 将合适的参数传递给基类的构造器。
|
||||
- \[2\] 在匿名内部类末尾的分号,并不是用来标记此内部类结束的。实际上,它标记的是表达式的结束,只不过这个表达式正巧包含了匿名内部类罢了。因此,这与别的地方使用的分号是一致的。
|
||||
|
||||
尽管 Wrapping 只是一个具有具体实现的普通类,但它还是被共导出类当作公共“接口”来使用。
|
||||
尽管 Wrapping 只是一个具有具体实现的普通类,但它还是被派生类当作公共“接口”来使用。
|
||||
|
||||
```java
|
||||
// innerclasses/Wrapping.java
|
||||
@@ -917,7 +917,7 @@ public abstract class Event {
|
||||
|
||||
当希望运行 Event 并随后调用 start() 时,那么构造器就会捕获(从对象创建的时刻开始的)时间,此时间是这样得来的:start() 获取当前时间,然后加上一个延迟时间,这样生成触发事件的时间。start() 是一个独立的方法,而没有包含在构造器内,因为这样就可以在事件运行以后重新启动计时器,也就是能够重复使用 Event 对象。例如,如果想要重复一个事件,只需简单地在 action() 中调用 start() 方法。
|
||||
|
||||
ready() 告诉你何时可以运行 action() 方法了。当然,可以在导出类中覆盖 ready() 方法,使得 Event 能够基于时间以外的其他因素而触发。
|
||||
ready() 告诉你何时可以运行 action() 方法了。当然,可以在派生类中覆盖 ready() 方法,使得 Event 能够基于时间以外的其他因素而触发。
|
||||
|
||||
下面的文件包含了一个用来管理并触发事件的实际控制框架。Event 对象被保存在 List\<Event\> 类型(读作“Event 的列表”)的容器对象中,容器会在 [集合 ]() 中详细介绍。目前读者只需要知道 add() 方法用来将一个 Object 添加到 List 的尾端,size() 方法用来得到 List 中元素的个数,foreach 语法用来连续获联 List 中的 Event,remove() 方法用来从 List 中移除指定的 Event。
|
||||
|
||||
@@ -1180,7 +1180,7 @@ Terminating
|
||||
|
||||
## 继承内部类
|
||||
|
||||
因为内部类的构造器必须连接到指向其外围类对象的引用,所以在继承内部类的时候,事情会变得有点复杂。问题在干,那个指向外围类对象的“秘密的”引用必须被初始化,而在导出类中不再存在可连接的默认对象。要解决这个问题,必须使用特殊的语法来明确说清它们之间的关联:
|
||||
因为内部类的构造器必须连接到指向其外围类对象的引用,所以在继承内部类的时候,事情会变得有点复杂。问题在干,那个指向外围类对象的“秘密的”引用必须被初始化,而在派生类中不再存在可连接的默认对象。要解决这个问题,必须使用特殊的语法来明确说清它们之间的关联:
|
||||
|
||||
```java
|
||||
// innerclasses/InheritInner.java
|
||||
@@ -1410,4 +1410,4 @@ LocalInnerClass.class
|
||||
|
||||
<!-- 分页 -->
|
||||
|
||||
<div style="page-break-after: always;"></div>
|
||||
<div style="page-break-after: always;"></div>
|
||||
|
||||
Reference in New Issue
Block a user