初学java遇到无法从静态上下文中引用非静态变量错误
public class Persion1
{
    class Persion
    {
        int id;
        int age=20;
        Persion(){};
        Persion(int _id,int _age)
        {
            id=_id;
            age=_age;
        }
    }
    class Dog 
    {
        int id;
        int age;
        int get_id()
        {
            return id;
        }
        int get_age()
        {
            return age;
        } 
    }
    Persion Tom=new Persion();
    Persion Jim=new Persion(2,15);
    Dog dog=new Dog();
    public static void main(String[] args)
    {
        System.out.println(Tom.id);
        System.out.println(Tom.age);
        System.out.println(Jim.id);
        System.out.println(Jim.age);
        System.out.println(dog.id);
        System.out.println(dog.age);
    }
}
编译的时候总是提示下面的错误,请各位大大指导一下,该如何修改
Persion1.java:32: 无法从静态上下文中引用非静态 变量 Tom
                System.out.println(Tom.id);
                                   ^
Persion1.java:33: 无法从静态上下文中引用非静态 变量 Tom
                System.out.println(Tom.age);
                                   ^
Persion1.java:34: 无法从静态上下文中引用非静态 变量 Jim
                System.out.println(Jim.id);
                                   ^
Persion1.java:35: 无法从静态上下文中引用非静态 变量 Jim
                System.out.println(Jim.age);
                                   ^
Persion1.java:36: 无法从静态上下文中引用非静态 变量 dog
                System.out.println(dog.id);
                                   ^
Persion1.java:37: 无法从静态上下文中引用非静态 变量 dog
                System.out.println(dog.age);
遇到这样的问题,原因在哪里呢?希望各位高手不吝指导一下菜鸟!

1个回答

真是新手,没法评价

[code="java"]public class Personal

{

static class Person

{

int id;

int age=20;

Person(){}

Person(int _id, int _age)

{

id=_id;

age=_age;

}

}

static class Dog

{

int id;

int age;

int get_id()

{

return id;

}

int get_age()

{

return age;

}

}

static Person tom =new Person();  
static Person jim =new Person(2,15);  
static Dog dog=new Dog();  
public static void main(String[] args)  
{  
    System.out.println(tom.id);  
    System.out.println(tom.age);  
    System.out.println(jim.id);  
    System.out.println(jim.age);  
    System.out.println(dog.id);  
    System.out.println(dog.age);  
}  

} [/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐