| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 919 人关注过本帖
标题:[求助]关于Java的super的用法
只看楼主 加入收藏
laflaflaf
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-11-24
收藏
 问题点数:0 回复次数:4 
[求助]关于Java的super的用法
有一个类class1

class class1 extends class2 implements interface1 {}

中可不可以使用super,如果可以的话super是指向class2还是interface1
请高手们帮小弟指点迷津,谢谢
搜索更多相关主题的帖子: super Java 用法 
2005-11-24 13:27
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
class class1 extends JFrame implements ActionListener
{
public class1(){
super("aaa");
}
}
上面这段程序能看懂么?能看懂也就知道是怎么回事了……

向着软件工程师的目标前进!
2005-11-24 14:54
jrg9522
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-1-19
收藏
得分:0 

接口不能创建对象。。。

2006-01-19 01:04
Jhyvin
Rank: 2
等 级:新手上路
威 望:4
帖 子:81
专家分:0
注 册:2005-12-29
收藏
得分:0 

衍生类中的域或方法与父类中的域或方法同名,因为在衍生类里,衍生类的域或方法优先级高,所以衍生类中的同名的域和方法就隐藏了父类的域和方法,但如果想要使用超类中的域或方法,此时就需要用到super,比如:

程序代码:

   class Country{

    String name;

    public void value(){

     name=\"dad\";

     System.out.println(\"superclass's value method\");
}

   }

下面的衍生类中,衍生类的域和方法隐藏了父类的name域和value()方法,

程序代码:
class City extends Country{

    String name;

    void value(){

     name=\"son\";

     super.value();

     System.out.println(name+\" is the value of subclass's name\");

     System.out.println(super.name+\" is the value of superclass's name\");

    }


 
为了在衍生类中用超类的name域和value()方法,代码中我们使用了super[super.name和super.value()]

所以显示的结果为

superclass's value method

   son is the value of subclass's name

   dad is the value of superclass's name

如果我们想要使用超类的构造函数则应当使用super(参数列表)的形式。

[此贴子已经被作者于2006-1-20 22:08:16编辑过]


一万年太久,只争朝夕! 从此不再乱翻书!!!
2006-01-20 22:08
快速回复:[求助]关于Java的super的用法
数据加载中...
 
   



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

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