2 qq 33833831 qq_33833831 于 2016.01.29 16:05 提问

java入门错误 需要标识符

class Test2 {
int a;
a=10;

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

}
则可以通过

13个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.29 17:51

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

lahand
lahand   2016.01.29 16:09

你的JDK 版本太低了吧

ctrl7416
ctrl7416   2016.01.29 16:18

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

leilba
leilba   Rxr 2016.01.29 17: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{}里面的东西在类进行加载的时候就会进行执行

sinat_33883653
sinat_33883653 这就是java机制。各种变量、方法的加载顺序影响的
2 年多之前 回复
91program
91program   Ds   Rxr 2016.01.29 18:03

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

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

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

jhfsdfs
jhfsdfs   2016.01.29 18:05

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

qq_29829081
qq_29829081   2016.01.29 18:07

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

fyf604702289
fyf604702289   2016.01.29 21:18

网站还不错
网址是:

fyf604702289
fyf604702289   2016.01.29 21:19

网址是

fyf604702289
fyf604702289   2016.01.29 21:20
共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
错误提示:需要标识符
菜鸟学习java之路:今天在看java编程思想时,想动手敲敲代码。结果随自己之前学习的基础,敲了个简单程序,没想到出现了运行错误: 代码: class StaticTest{ static int i=7; i++; public static void main (String []args){ StaticTest st1=n
利用命令行编译Java文件时出现“需要<>标识符”的错误
class { public static void main(String[] args) { System.out.println("Hello World!"); } } 如上面那段测试代码所示,编译时就会提示“需要
编译错误,需要标识符
ackage day0415; import java.util.Arrays; public class CardsPractice { public static void main(String[] args) { Card[] cards = new Card[54]; int i=0; for(int rank = Card.TH
常见的 Android Studio问题
Q: XML布局的Preview不小心按掉了,现在重新显示出来?  A: Android Studio的功能包含preview窗口, 可以查看布局(layout)的样式;(打不开之类的问题)    具体位置: view->Tool Windows->Preview, 可以显示preview窗口;    解决网址: http://www.ddvip.com/tech/1000136841.
50个常见的 Java 错误及避免方法(第一部分)
在开发Java软件时可能会遇到许多类型的错误,但大多数是可以避免的。为此我们罗列了50个最常见的Java编码错误,其中包含代码示例和教程,以帮助大家解决常见的编码问题。编译器错误当Java软件代码通过编译器运行时,会创建编译器错误消息。谨记编译器可能会针对一个错误抛出许多错误消息。所以得修复第一个错误并重新编译。这样做可以解决很多问题。1.“…Expected”当代码中缺少某些东西时,会发生此错误...
java 基础总结 -- enum 枚举的基础使用
package com.zghw.base.enumx; /** * 枚举类型定义 * @author zghw * */ //使用enum关键字定义一个枚举 public enum Spiciness { //命名习惯以大写字母如有多个则用下划线连接,使用逗号分开具名值 NOT,MILD,MEDIUM,HOT,FLAMING } package com.zghw.base.en
错误(28,9): PLS-00201: 必须声明标识符 'PKG_IFACE_FOR_FLOW'
出错原因是没有权限 给该用户进行授权 grant execute on PKG_IFACE_FOR_FLOW to XMOMS_MAIN;
N点虚拟系统出现 “操作MICROSOFT-FTP发生错误 ,请检查是否安装或标识符错误”解决方案
当网友在服务器或VPS主机上使用N点虚拟系统开设站点时,可能会提示 “操作MICROSOFT-FTP发生错误 ,请检查是否安装或标识符错误“。 我在使用VPS的时候就遇到了这一情况,现在为大家介绍一下我的解决方案。 出现这一提示的原因主要是FTP标识符错误,首先查看IIS管理器里面默认FTP的标识符是多少 记住上图中的标识符数字后,来到N点虚拟主机管理的后台,选择 主机系统参数设置,
java错误,找不到标示符
import java.io.*; public class FileStream {         public static void main(String[] args)  {                 try                 {                         FileOutputStream out=new FileOutputSt
解决error C2065:"..."未声明的标识符,C2065:语法错误: 标识符“...”
今天调用一个函数时出现 error C2061: 语法错误: 标识符“Mat”, 但是怎么也看不出来Mat什么错,把函数调用注释掉,还是报同样的错误。 把函数定义的内容也全部注释掉,也还是报同样的错误。 把函数的参数继续注释掉,不报错误了,看来是函数参数有问题。 加了一个参数 vector &face,报出解决error C2061:"vector"未声明的标识符,上网查原因。