package ch7;public class Demo1 {

public String a;


 void a(){
a="public";



}

}------
package ch7;public class Demo2 { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub

Demo1 demo1=new Demo1();

System.out.println(demo1.a); }}
但是运行出来显示为null

解决方案 »

  1.   


    // 改一下,因为你没有对a初始化,所以是null,要么在生命的时候初始化,要么在构造方法里初始化!
    public class Demo1 { public String a; Demo1() {
       this.a = "public 1";
    }
    void a(){ 
    a="public 2"; } } 
      

  2.   

    你构造出来new Demo1()以后并没有对a进行赋值,请注意你用的是demo1.a,这里的a是实例变量,自然是null
      

  3.   


    既然已经写了
    public class Demo1
    哪么为什么要写Demo1() {...}呢?Demo1()在这里是什么呢?
      

  4.   

    class Demo1 {   public String a ;
      
      public Demo1(String a){
    this.a = a;
      }}public class Demo2 {   public static void main(String[] args) {   Demo1 demo1=new Demo1("a");   System.out.println(demo1.a); } } 
      

  5.   

    void a()并没有运行,自然a为空了