ublic class HelloWorld
{
// 外部类中的show方法
public void show()
{
// 定义方法内部类
final int a=25;
int b=13;
class MInner
{
int c=2;
public void print()
{
System.out.println("访问a:"+a);
System.out.println("访问c:"+c);
}
}
}
public static void main(String[] args)
{
HelloWorld mo=new HelloWorld();
mo.show();
}
}
因为你在show()方法中没有调用内部类的print()方法;
你可以在show()中生成一个内部类对象,用这个对象调用print()方法;
如:
MInner mi = new MInner();
mi.print();
因为你这样子调用show方法,show方法里面根本就没做啥事,肯定是空白哦。
package sterning; public class HelloWorld { // 外部类中的show方法 public void show() { // 定义方法内部类 final int a=25; int b=13; class MInner { int c=2; public void print() { System.out.println("访问a:"+a); System.out.println("访问c:"+c); } } System.out.println("Yes"); MInner mi=new MInner(); mi.print(); } public static void main(String[] args) { HelloWorld mo=new HelloWorld(); mo.show(); } }
同楼上,要想调用内部类的方法,就一定要创建内部类的对象。
MInner mi=new MInner();
mi.print();
因为没有new内部类的对象,只能执行到外部方法。
因为你在show方法中没有new出MInner对象,然后调用print()方法。所以才会报错。
MInner mi=new MInner();
mi.print();
加上这个就好了