在类中创建的对象aa是非静态的 而main函数中的对象cc是静态的 对象也有静态和非静态之分?? 求指点

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

Bad__Guy

2015-07-03 18:18

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);

     }

}

 //对象也有静态和非静态之分?

写回答 关注

2回答

  • 空灵_哈哈
    2015-07-05 10:29:11
    已采纳

    static可以修饰属性和方法,这样修饰的属性和方法就都是静态的,有这样的规则:静态方法中只能调用静态属性和方法,这段代码中,a是静态变量,main方法是静态方法,所以main方法中Testt类型的cc对象调用的属性只能是静态的

    Bad__G...

    谢谢楼上! b属性不是静态的cc对象却可以调用啊。

    2015-07-05 15:36:33

    共 1 条回复 >

  • Bad__Guy
    2015-07-05 15:37:57

    对不起 我没对我的程序实践运行!Testt aa=new Testt();这段代码直接在类中实例对象,运行时是会报错的!

Java入门第二季 升级版

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

530560 学习 · 6091 问题

查看课程

相似问题