在类中创建的对象是非静态的 怎么看的啊 为什么??

来源:8-9 Java 中的 static 使用之静态方法

youngv

2015-05-11 10:22

public class Testt

{

     static int a = 0;

     int b = 12;

     Testt aa = new Testt();

     public static void main(String[] args)

    {

     Testt cc = new Testt();

     System.out.println(cc.b);

    System.out.println(aa.b);  //这个错的? 提示:不能对非静态字段aa进行静态引用

     System.out.println(cc.a);   //对的

     System.out.println(a);

     }

}


写回答 关注

4回答

  • 明Only
    2015-11-10 14:03:15

    应该是 Testt aa = new Testt();必须在mian方法里吧!不知道我理解的对不对

  • 魏晋无赖
    2015-06-04 22:06:40

    同问啊

  • 呵呵呵呵呵呵呵5566
    2015-05-11 14:28:24

    main是静态方法,它只能访问静态成员,所以它可以访问static的a,不能访问没有static声明的b,解决方法就是在成员声明前加static关键字,表明该成员是静态成员

    youngv

    还是不对啊!它说的是非静态字段aa,不是b 如在main方法下添加次行代码:System.out.println(aa.a);//也是提示 不能对非静态字段aa进行静态引用;而如果将创建对象的这行代码 Testt aa = new Testt(); 放在main方法下,则不会有 不能对非静态字段aa进行静态引用 这个错误。

    2015-05-21 20:35:17

    共 1 条回复 >

  • Wang_Yu
    2015-05-11 11:31:30

    static 修饰的为静态  而在main方法中则不需要静态

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530653 学习 · 6091 问题

查看课程

相似问题