在类a中定义一个变量a1并赋值,现在在类b中创建一个类a的对象,并掉用get方法去取值,为什么什么都取不到呢?请问该怎么解决呢?

解决方案 »

  1.   

    a1赋值要在类的外面,或者你先写个set方法,用来设置a1的值
      

  2.   

    是取的到的,除非你在a类中,设置的get()是private修饰的。
      

  3.   

    例如:类A中,double year = 1980;
          private double getYear()
    {
    return year;
    }类B中, A a = new A();
           double year1= a.getYear();
           System.out.print("year1="+year1);为什么输出year1为空呢?怎么样才能取到值呢?谢谢
      

  4.   

    类A中,double year = 1980; 
          public double getYear() 

    return year; 
    } 类B中, A a = new A(); 
          double year1= a.getYear(); 
          System.out.print("year1="+year1);
    应该就可以了 
      

  5.   

    用了private,怎么样才能取到值呢?
      

  6.   

    private是私有的,只有在本类中才能访问得到;你把private去掉就能取得到了
      

  7.   

    怎么用set方法,再用get取值呢?
      

  8.   

    class A{
    private ValueA;
    set(get)函数
    }class B{
    A a =new A();
    b.setValueA(//输入你的值);
    b.getValueA();
    }eclipse 中的字段set,get 会自动生成的,不用自己写,自己写还爱错。
      

  9.   


    Class{
        double year;
        public void setYear(double year){
          this.year=year;
        }
        public double getYear(){
          return year;
        }
    }
      

  10.   

    private 的范围是在本类中的,跨类是不可以访问的
    如果想范围,可以利用javaBean的get,set方法
      

  11.   

    这个是个简单的例子,你看看吧public class T
    {
    public static void main(String[] args)
    {
    T1 t1 = new T1();
    String name = t1.getName();
    System.out.println(name);
    t1.setName("b");
    String name1 = t1.getName();
    System.out.println(name1);
    }}
    class T1
    {
    String name = "a";
    public String getName()
    {
    return name;
    }
    public void setName(String name)
    {
    this.name = name;
    }

    }
      

  12.   

    private double getYear() 
    修改为:
    public double getYear() 
      

  13.   

    我的get的方法是public的阿,试了下还是取不到数据阿
      

  14.   

    这个是个修饰符权限的问题,private的访问权限只能是在本类中。
    一般的设计方案是把类中的成员变量设置成private,而提供公有构造器去访问和设置成员变量,也就是用SET或则GET方法去实现行为,这样做的目的是为了保证数据的完整型。
    建议LZ多看点J2SE基础方面的东西,对面向对象程序设计的封装,继承和多态要有一定的了解!
      

  15.   

    Method m = A.class.getDeclaredMethod("getYear");
    m.setAccessible(true);
    System.out.println(m.invoke(a));hehe~
      

  16.   


    private 是私有的,只有在A类中才能看到,要么用public,要么就在A类中继承B类。
      

  17.   

    那你就在那个类中再定义一个共有函数调用那个私有的,但是好像没什么意思啊
    还是给你个单例模式的代码吧,也许你会明白点什么
    class Single{
    private Single(){}
    private static final Single s1=new Single();
    public static Single getSingleInstance(){
    return s1;
    }
    public void Say(){
    System.out.println("我开始说话了。");
    }

    }public class SingletonDemo {
    public static void main(String[] args) {
    Single s=Single.getSingleInstance();
    s.Say(); }}
      

  18.   

    是地,在类外面是不能访问的此类中的private成员的,即使是此类的对象也不行。