interface Ikk
{
    public static final int aa=3;
    public void hh();
}class dd implements Ikk
{
    public void hh()
    {
        System.out.println("interface");    }
    public static void main(String args[])
    {
        new dd().hh();
        System.out.println("aa="+super.aa);  //想访问aa却不行...
    }
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-05 09:26:43的历史汇总数据(不包括此帖):
    发帖的总数量:199                      发帖的总分数:9107                     
    结贴的总数量:196                      结贴的总分数:9017                     
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:3                        未结的总分数:90                       
    结贴的百分比:98.49 %               结分的百分比:99.01 %                  
    无满意结贴率:1.02  %               无满意结分率:0.55  %                  
    值得尊敬
      

  2.   

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。作为一个应用程序的入口方法他是独立的,他需要对象来访问,所以在main方法中的super是没有任何意义的.你可以不在dd中定义mian方法同样也可以访问dd对象,当然需要你声明了之后public class TestDemo {
        public static void main(String args[])
        {
            new dd().hh();
        }}
    方法中super是针对dd的super来说的。所以就不能这样使用了。
      

  3.   

    通过dd的实例来访问
    new dd().aa;
      

  4.   

    interface Ikk
    {
        public static final int aa=3;
        public void hh();
    }public class Dd implements Ikk
    {
        public void hh()
        {
            System.out.println("interface");    }
        public static void main(String args[])
        {
            new Dd().hh();
            Ikk kk=new Dd();
            System.out.println("aa= "+kk.aa);
            //System.out.println("aa="+super.aa);  //???aa???...
        }
    }
    这样可以..运用多态
      

  5.   

    为什么也要new dd().aa来访问呢
    main本来就是dd类里边的方法啊...
      

  6.   


    2楼的回答不错。另外3楼和3楼的不要误导别人啊。
    static方法中不能使用super和this所以楼主 public static void main (String[] args) 中任何时候都不能使用super和this的接口中的都是常量,楼主的问题要访问直接 Ikk.aaSystem.out.println(Ikk.aa);几个小问题,不太规范的地方接口中的都是常量建议使用大写另外类名你不要用小写字母啊
      

  7.   

    我觉得楼主对类、继承、static修饰符和main()方法的理解还不够透彻,可以去找各种资料看看,加油啊!还有3楼和4楼的的确是误导,对上面几个概念的理解更差,更应该去看看书6楼的说得比较正确,“static方法中不能使用super和this”:你仔细想想,static修饰的变量和方法属于类而不属于实例,即使没有实例化过这个类,这个类总是存在的,只要类存在就能用“类名.变量名”来调用。如果static要用实例来调用的话,还没有实例化该类怎么办,岂不是就不能调用了
    所以6楼的说法应该是对的
      

  8.   

    interface Ikk
    {
        public static final int aa=3;
        public void hh();
    }public class Dd implements Ikk
    {
        public void hh()
        {
            System.out.println("interface");    }
        public static void main(String args[])
        {
            new Dd().hh();
            Ikk kk=new Dd();
            System.out.println("aa= "+kk.aa);
            //System.out.println("aa="+super.aa);  //???aa???...
        }
    }实现接口
      

  9.   

    在默认情况下借口内的常量总是public,static和final类型的,对于static常量用实例或者用类名都可以访问。
    new dd().aa或者IKK.aa或者dd.aa
      

  10.   

    在用实例访问静态成员时会得到一条警告(The static field should be accessed in a static way),但是编译可以通过,如果你只是单纯做练习的话不要紧的,自己多体会体会加深理解。
      

  11.   

    System.out.println("aa=" + Ikk.aa);
      

  12.   

    用Super不行,是因为:Interface没有实例
    像Super.aa调用的是class dd的父类实例的变量,可是它却没有父类(需要extended)
    像这种情况,如果是Ikk是一个非抽象的类,那么就完全没有问题了
      

  13.   

    System.out.println("aa=" + aa); // 想访问aa却不行...直接用不就行了,接口的变量必须是public static final 的,即使你不声明,也是这样的。
      

  14.   

    static方法不需要通过对象实例调用!
    在使用这个方法时并没有类的实例对象!
    当然也就无法使用super
      

  15.   

    interface Ikk
    {
        public static final int aa=3;
        public void hh();/*{
    System.out.println("fdsfas");
    }*/
    }public class d implements Ikk
    {
        public void hh()
        {
            System.out.println("interface");
            System.out.println("aa="+Ikk.aa);  //访问方法一 直接用 
            System.out.println("aa="+aa);
        }
        public static void main(String args[])
        {
            d a=new d();
            a.hh();
            System.out.println(new d().aa);//访问方法二 实例化类引用 
            Ikk kk=new d();
            System.out.println("aa= "+kk.aa);//访问方法三 通过接口引用访问实现 
     
        }
    }足以证明 小熊猫未错.4楼也未错.竹子也没错.