qq_33833831
曾家小浩
2016-01-29 08:05
采纳率: 40%
浏览 7.6k

java入门错误 需要标识符

class Test2 {
int a;
a=10;

}
编译无法通过
class Test2 {
int a=10;

}
则可以通过

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

13条回答 默认 最新

  • lahand
    lahand 2016-01-29 08:09

    你的JDK 版本太低了吧

    点赞 评论
  • ctrl7416
    _小_小_ 2016-01-29 08:18

    a=10; 应该不能写在类里吧..前面也没个类型 修饰

    点赞 评论
  • leilba
    林深 2016-01-29 09:15

    这是java的语法,在类里面只能声明和初始化方法和成员变量,但是不能直接加入操作,比如说int a是声明变量,int a=2是声明变量的同时进行初始化,而 a=2则是一个操作,在类这一层是不允许的,你可以在构造方法里面进行这样的操作:

     public class Test2 {
    
        int a;
        public Test2() {
            a=2;
        }
    
        public static void main(String args[]) {
            Test2 test2 = new Test2();
            System.out.println("a:"+test2.a);
        }
    }
    
    

    还有一个有意思的方法,如果你实在想写在外面的话,那就定义成静态变量吧:

     public class Test2 {
    
        static int a;
        static {
            a=2;
        }
        public static void main(String args[]) {
            System.out.println("a:"+a);
        }
    }
    
    

    static{}里面的东西在类进行加载的时候就会进行执行

    点赞 评论
  • wojiushiwo945you
    毕小宝 2016-01-29 09:51

    语法错误,Java类定义中只能声明成员变量,对成员变量的赋值操作只能在三个地方:
    1,定义成员变量时直接赋值
    2,类的构造函数中初始化成员变量
    3,非静态代码块中,可以在类定义的任何地方使用{}在其中编写代码块的。
    修改你的赋值语句放在括号里面就可以了。如下:
    {
    a=2;
    }

    点赞 评论
  • 91program
    91program 2016-01-29 10:03

    class Test2 {
    int a;
    a=10;
    }
    编译无法通过是因为 int a; 定义了一个类的全局变量。但对此全局变量的使用,必须放在类的成员函数中。如:

     class Test2 {
      int a;
      void Test()
      {
          a=10;
      }
    }
    

    class Test2 {
    int a=10; // 定义类中全局变量的同时赋值是可以的
    }

    点赞 评论
  • jhfsdfs
    machineShunMing 2016-01-29 10:05

    类里面有属性和方法,不能直接写表达式,要放到静态块,不然报错

    点赞 评论
  • qq_29829081
    TOMSCUT 2016-01-29 10:07

    在静态代码块中也可以对变量a进行赋值的!

    点赞 评论
  • fyf604702289
    franclyn 2016-01-29 13:18

    网站还不错
    网址是:

    点赞 评论
  • fyf604702289
    franclyn 2016-01-29 13:19

    网址是

    点赞 评论
  • fyf604702289
    franclyn 2016-01-29 13:20
    点赞 评论
  • zrf1335348191

    第二种属于定义时初始化没有问题,第一种代码先初始化,但赋值语句必须写在方法里

    点赞 评论
  • cuiwei1026522829
    另一花生 2016-01-30 09:51

    类里面只能声明和初始化方法和成员变量

    点赞 评论
  • fk002008
    lambda-fk 2016-01-31 16:35

    同学,语句在哪写呢?
    语句只能写在方法的块内或者是类的static块内

    你见过在成员定义的地方还进行语句编写

    编写的语句怎么执行啊

    点赞 评论

相关推荐