Java 请从这个方法中解释gettersetter_方法

Java 请从这个方法中解释gettersetter_方法,java,getter-setter,Java,Getter Setter,我有一个与getter和setter概念相关的小程序,我得到null值的原因我不明白。这是我的代码,我需要在单个对象中传递多个字符串: public class simple { public Object getmethod(){ getter s=new getter(); String app="apple"; s.setApp(app); String ble="blue"; s.set

我有一个与getter和setter概念相关的小程序,我得到null值的原因我不明白。这是我的代码,我需要在单个对象中传递多个字符串:

public class simple {

    public Object getmethod(){
        getter s=new getter();
        String app="apple";
        s.setApp(app);      
        String ble="blue";
        s.setGrp(ble);
        String re="grape";
        s.setGrp(re);           
        return s;
    }
}
下面是getter方法:

public class getter {
    String app;
    String org;
    String  grp;
    String mn;

    public String getApp() {
        return app;
    }

    public void setApp(String app) {
        this.app = app;
    }

    public String getOrg() {
        return org;
    }

    public void setOrg(String org) {
        this.org = org;
    }

    public String getGrp() {
        return grp;
    }

    public void setGrp(String grp) {
        this.grp = grp;
    }
}
下面是测试类:

public class Check {

    public static void main(String[] args) {
        simple s=new simple();
        getter g=new getter();
        s.getmethod();
        String first=g.getApp();
        String second=  g.getGrp();
        String third=g.getOrg();
        System.out.println("the value 1st is " + first + "the second" + 
                              second +"3rd is"+third);
    }    
}
这就是我得到null作为值的地方。

您需要检查类、方法和变量名

问题在于main方法中的代码没有使用getmethod()返回的引用。相反,您正在实例化另一个getter实例

public class Check {
    public static void main(String[] args) {
        simple s=new simple(); 
        // you may avoid cast to getter by changing return type of 
        // method getmethod() from Object to getter. 
        getter g=(getter)s.getmethod(); // cast is necessary 
        String first=g.getApp();
        String second=  g.getGrp();
        String third=g.getOrg();
       System.out.println("the value 1st is " + first + "the second" + second +"3rd is"+third);
    }    
}
根据,请按以下方式命名您的课程:

  • 吸气剂->吸气剂
  • 简单->简单
  • getter和setter方法以及变量按照约定命名
      您需要检查类、方法和变量名

      问题在于main方法中的代码没有使用getmethod()返回的引用。相反,您正在实例化另一个getter实例

      public class Check {
          public static void main(String[] args) {
              simple s=new simple(); 
              // you may avoid cast to getter by changing return type of 
              // method getmethod() from Object to getter. 
              getter g=(getter)s.getmethod(); // cast is necessary 
              String first=g.getApp();
              String second=  g.getGrp();
              String third=g.getOrg();
             System.out.println("the value 1st is " + first + "the second" + second +"3rd is"+third);
          }    
      }
      
      根据,请按以下方式命名您的课程:

      • 吸气剂->吸气剂
      • 简单->简单
      • getter和setter方法以及变量按照约定命名
      这里的值是null

      您正在打印尚未设置的
      新getter
      变量,因此它们都为空

      s.getmethod()
      本身将调用该方法,并创建一个新的getter(与前面创建的getter不同),但返回nothing,因此需要赋值

      getter g=(getter)s.getmethod(); 
      
      如果不希望强制转换,请更改方法以返回getter而不是Object

      public getter getmethod(){
      
      所以你可以

      getter g=s.getmethod(); 
      
      这里的值是null

      您正在打印尚未设置的
      新getter
      变量,因此它们都为空

      s.getmethod()
      本身将调用该方法,并创建一个新的getter(与前面创建的getter不同),但返回nothing,因此需要赋值

      getter g=(getter)s.getmethod(); 
      
      如果不希望强制转换,请更改方法以返回getter而不是Object

      public getter getmethod(){
      
      所以你可以

      getter g=s.getmethod(); 
      

      好兄弟。。。这是完美的工作,当然我会改变类的名称(thanx表示命名约定)。。thanx的回复非常好…如果这回答了您的问题,请通过单击此答案左侧下一步的复选标记将其作为答案接受。我这样做了,但这表明您需要15个声誉才能发布它。如何获得声誉??我只有8分。你可以通过回答问题或问有趣的问题来获得。我刚刚给了你们一票,你们的票数是13。你还需要一些。。。当你有足够的时间时再回来看看-干杯。棒极了,伙计。。。这是完美的工作,当然我会改变类的名称(thanx表示命名约定)。。thanx的回复非常好…如果这回答了您的问题,请通过单击此答案左侧下一步的复选标记将其作为答案接受。我这样做了,但这表明您需要15个声誉才能发布它。如何获得声誉??我只有8分。你可以通过回答问题或问有趣的问题来获得。我刚刚给了你们一票,你们的票数是13。你还需要一些。。。当你有足够的时间再回来看看-干杯。我这么做了,但它表明你需要15个声誉才能发布它。如何获得声誉??我只有8张。据我所知,这是用箭头向上投票的。你可以随时接受askI提出的问题,但这表明你需要15个声誉才能发布。如何获得声誉??我只有8张。据我所知,这是用箭头向上投票的。你可以随时接受你提出的问题