问答详情
源自:9-4 Java 中的继承初始化顺序

小新人求教

public class Person {
     public String sore ;
     public String language ;
    public Person(){
        System.out.println("每个人都有着自己的语言。");
        System.out.println("就好像"+sore+"说"+language);
    }
    public static void main(String[] args){
        String sore = "中国人";
        String language = "中文";
        new Person();
    }
}
   
为什么无法赋值sore,language

提问者:慕粉1406301482 2017-03-05 18:09

个回答

  • ziom
    2017-03-05 18:24:31
    已采纳

    main()里定义的sore和language与Person类里的sore, language属性并无任何联系,也即不是无法赋值,而是你根本没有给它们赋值

    可以尝试定义一个有参构造,在创建对象的时候传入main()里定义的sore, language

  • 精慕门1201519
    2017-07-07 20:22:06

    public class Person {
    
      public String sore ;
    
         public String language ;
    
        public void Person(){
    
            System.out.println("每个人都有着自己的语言。");
    
            System.out.println("就好像"+sore+"说"+language);
    
        }
    
        public static void main(String[] args){
    
            China ch=new China();
    
          ch.sore = "中国人";
    
           ch.language = "中文";
    
             ch.Person();
    
        }
    
    }
    //这样就可以了

  • 我爱学习_33
    2017-03-07 10:42:10

    一个是成员变量,一个是局部变量   不一样的