黑马程序员技术交流社区

标题: 考考大家基本功 下面代码为什么编译时候报错 [打印本页]

作者: 沙漠里的小鱼    时间: 2013-11-30 18:22
标题: 考考大家基本功 下面代码为什么编译时候报错

作者: lovecx24    时间: 2013-11-30 18:46
本帖最后由 lovecx24 于 2013-11-30 19:22 编辑

表达式不够完整啊,外面套上System.out.print() 就不会报错了
作者: 贾波    时间: 2013-11-30 18:59
本帖最后由 贾波 于 2013-11-30 19:02 编辑

;分割的是各个表达式,只有一个变量摆在那里,则会提示错误
Test2.t;和Test2.i;为其赋值以完成表达式
或者放在System.out.println()中,会自动将它转换成一个字符串(因为这个方法默认调用了toString()),然后输出。



作者: Faner    时间: 2013-11-30 19:03
static Test3 t= new Test(); 这句不懂 不理解  怎么会有这句话!! 你定义的Class  Test3是默认类型的! main方法中 怎么可以用 Test.t  这句难道不会提示错误  
作者: 胡陈思    时间: 2013-11-30 20:29
这段代码编译报错是因为,你在main函数调用了两个成员变量后既没有对变量赋值,也没有把成员变量赋给别的变量。
你可以一:赋值
  1.                 Test2.t = new Test3();
  2.                 Test2.i = 5;
复制代码

二:赋给别的变量
  1.                 Test3 t2 = Test2.t;
  2.                 int b = Test2.i;
复制代码

三:直接输出
  1.                 System.out.println(Test2.t+"***"+Test2.i);
复制代码





作者: 沙漠里的小鱼    时间: 2013-11-30 20:31
Faner 发表于 2013-11-30 19:03
static Test3 t= new Test(); 这句不懂 不理解  怎么会有这句话!! 你定义的Class  Test3是默认类型的 ...

为啥不行   我这句是定义一个引用类型的静态属性 为啥不行呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2