super(JEditTextArea.this);这条语句做何解释?

步人甲 2008-05-27 10:31:27
class MutableCaretEvent extends CaretEvent
{
MutableCaretEvent(){
super(JEditTextArea.this);
}
//获得插入符的位置。
public int getDot(){
return getCaretPosition();
}
//获得逻辑选择的另一端的位置。如果没有进行选择,则此位置将与 dot 相同
public int getMark(){
return getMarkPosition();
}
}
MutableCaretEvent继承了CaretEvent这个用于通知感兴趣的参与者事件源中的文本插入符已发生更改的事件,虽然CaretEvent的构造函数为CaretEvent(java.lang.Object arg0),但是在构造函数中如此使用super(JEditTextArea.this);写法有些不明白,望知道的TX指导一下,谢谢。
...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
步人甲 2008-05-29
  • 打赏
  • 举报
回复
谢谢,确实如4楼和5楼两位所说的,非常感谢指点。
以后有机会请多指教!
步人甲 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 blazingfire 的回复:]
MutableCaretEvent 是从CaretEvent继承
//以下是构造函数
MutableCaretEvent(){
super(JEditTextArea.this); //调用基类也就是CaretEvent的构造函数
}
[/Quote]
super调用我明白,我不明白的是super(JEditTextArea.this); 中,JEditTextArea.this的意义是什么。
blazingfire 2008-05-27
  • 打赏
  • 举报
回复
MutableCaretEvent 是从CaretEvent继承
//以下是构造函数
MutableCaretEvent(){
super(JEditTextArea.this); //调用基类也就是CaretEvent的构造函数
}
laorer 2008-05-27
  • 打赏
  • 举报
回复
JEditTextArea.this 有这种写法?我好像没看过
zwgs1985 2008-05-27
  • 打赏
  • 举报
回复
在类MutableCaretEvent中的构造函数里,调用super的时候,参数要求的类型为JEditTextArea,所以要调用super(JEditTextArea.this),指的是JEditTextArea类型的对象,
因为MutableCaretEvent为JEditTextArea的子类,所以要这么写
blazingfire 2008-05-27
  • 打赏
  • 举报
回复
你的代码应该没有帖全的!按你的代码分析,MutableCaretEvent是一个内部类用来处理某个事件,它是包装类(上一层类)应该是JEditTextArea,见如下代码:
class MutableCaretEvent{
MutableCaretEvent(){
super(JEditTextArea.this);
}
}
super(JEditTextArea.this);就是调用MutableCaretEvent基类的构造函数,
并把MutableCaretEvent的包装类(EditTextArea类)当前引用的作为参数。
这个是内部类访问其外部类的当前引用的语法而已,没有什么可说的,知道就可以了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧