JAVA内部类问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 18:17:19
package com.lei.bc;

public class test {
private int a=50;
public void ss()
{
class test1
{
void print()
{
System.out.println(a+"这是内部类test的方法!");
}
}
test1 t1=new test1();
t1.print();
}
public static void main(String[] args)
{
new test().ss();
}
}

怎么会出错呢?

你把内部类的定义放到了方法里去了.当然错啦!
内部类的定义和方法是同一级的.
package com.lei.bc;

public class test {
private int a=50;
public void ss()
{
test1 t1=new test1();
t1.print();
}
public static void main(String[] args)
{
new test().ss();
}
class test1
{
void print()
{
System.out.println(a+"这是内部类test的方法!");
}
}
}

内部类的对象声明跟普通的是不一样的,你要先写上外部类,让程序知道你声明的对象在哪才行的。
test.test1 t1;