标题:super的用法?
只看楼主
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 
以下是引用fengyumanlou在2007-8-5 10:39:42的发言:

噢,那意思是说,这里一定用初始化父类对象和方法?这怎么看出来的?

饿。。。不好意思。刚刚那段是书上抄来的。

这边并没有父类的对象。所以不存在初始化父类的对象。


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2007-08-05 10:43
fengyumanlou
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-7-20
得分:0 
说的有些明白了,谢谢这位大哥,不为渔利的指点我.
2007-08-05 10:51
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 
这也是学习过程。

我前面的也没掌握好。。。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2007-08-05 10:56
liguoshi1984
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-7-4
得分:0 

原理是这样的:
生成子类时要在内存中分配
1父类所有的变量和方法的入口地址
2子类新增的变量和方法的入口地址
所以在生成子类时要先调用父类的某个构造方法

比如这条语句
public ExitableJFrame(String title){
super(title); //调用构造函数?好象是饿!
}
这里的super(title)就表示父类的一个构造方法,如果不写则默认调用不带参数的构造方法.


至于这条
protected void frameInit(){
super.frameInit(); //调用JFrame.frameInit()
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
由于子类覆盖了父类的方法.用super.frameInit()调用父类被覆盖的方法.


你问不用这两条语句能运行吗?不明白你的意思.最好明确你想干什么.

2007-08-05 11:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-160415-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.599807 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved