小指一抖内存泄漏 2011-09-03 11:22
浏览 403
已采纳

初学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条回答 默认 最新

  • hareamao 2011-09-03 11:51
    关注

    真是新手,没法评价

    [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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?