方法内部类中有关变量的问题
1.首先在一个方法内部类中,定义常量变量输出都是对的,但是如果在外部的方法中定义变量,然后在内部类中输出为什么会报错呢?
2.定义变量在外部类下和方法里会对方法内部类有什么不同影响吗?
3.具体代码如下
代码一:public class HelloWorld {
public void show(){
int a=1; int b=2;
class Inner{
int c=3;
public void print(){
System.out.println("外部变量a"+a);
System.out.println("内部变量"+c);
}}
Inner i=new Inner();
i.print (); }
public static void main(String[] args) {
HelloWorld m=new HelloWorld();
m.show();
}}
代码二:public class HelloWorld {
int a=1;int b=2;
public void show(){
class Inner{
int c=3;
public void print(){
System.out.println("外部变量a"+a);
System.out.println("内部变量"+c);
}}
Inner i=new Inner();
i.print ();}
public static void main(String[] args) {
HelloWorld m=new HelloWorld();
m.show();}}
代码一划线处是错的。代码二则正确,并且代码一将int a=1改成final int a=1就对了,是什么原因