标题: 编译没通过,自己没找到错误。帮忙看下,谢谢 [打印本页] 作者: 刘晓康 时间: 2012-4-4 14:47 标题: 编译没通过,自己没找到错误。帮忙看下,谢谢 class Outer
{
int x =3;
void method(final int a)
{
final int y=3;
class Inner
{
void function()
{
System.out.println(a);
}
}
new Inner().function();
}
}
class InnerClassDemo
{
public static void main(String [] args)
{
Outer.out= new Outer();
out.method(5);
out.method(6);
}
}
InnerClassDemo.java:26: 找不到符号
符号: 变量 out
位置: 类 Outer
Outer.out= new Outer();
^
InnerClassDemo.java:27: 找不到符号
符号: 变量 out
位置: 类 InnerClassDemo
out.method(5);
^
InnerClassDemo.java:28: 找不到符号
符号: 变量 out
位置: 类 InnerClassDemo
out.method(6);
^
3 错误 作者: 秦岩 时间: 2012-4-4 14:52
class Outer
{
int x =3;
void method(final int a)
{
final int y=3;
class Inner
{
void function()
{
System.out.println(a);
}
}
new Inner().function();
}
}
class InnerClassDemo
{
public static void main(String [] args)
{
Outer out= new Outer(); //这里错误, 应该这样写,而不是 Out.out = new Outer();
out.method(5);
out.method(6);
}
}
复制代码
作者: 邓斌 时间: 2012-4-4 15:17
Outer.out= new Outer(); //Quter 是个类类型 定义类类型后面加“.”
Quter.java:14: 错误: 找不到符号
Outer.out= new Outer();
^
符号: 变量 out
位置: 类 Outer
1 个错误 作者: 岳民喜 时间: 2012-4-4 23:45
LZ这道题代码如此简单,应该很好看出问题的,这种问题仔细看一下,分析分析就能得出结果了,是对象定义格式错误的原因,作者: 李震 李震 李震 时间: 2012-4-5 02:59
Outer.out= new Outer();//
Outer out= new Outer();//创建对象实例 作者: 张小庆 时间: 2012-4-5 07:35
创建对象格式错误了啊,楼主。作者: 欧阳才志 时间: 2012-4-5 08:09
Outer.out= new Outer()
你把Outer后的点去掉,再编译一下看看,应该就过了。
对象创建也叫对象实例化,创建形式跟我们定义一个变量类似,严格遵循先创建后使用的原则。
楼主先是定义了一个Outer类,但是在实例化的时候却犯了糊涂。应该是先创建out对象,再调用它的构造方法。
所以楼主将Outer.out= new Outer()这句的点变成空格再编译应该是会通过的。 作者: 黑马老兵 时间: 2012-4-5 08:24
Outer.out= new Outer();
这一步有问题Outer.XXX是用来调用Outer内部静态的变量或者方法的。创建对象应该是 Outer out= new Outer(); 作者: 姜志钦 时间: 2012-4-5 09:42
声明类的实例与声明变量的语法是一样:类名 实例名; 调用类的静态方法或属性,才用楼主你写的那样:Outer.out