java - 通过嵌套发送变量 类

java - sending variables through nested classes

我有一个 class,它有一个类型为 Name 的变量。

public class Holder {
   private Name name;
   private int snumber;

Name class 有两个字符串,称为 firstlast,它们由 setter 方法赋值。我想将 Name class 中的字符串发送到 Holder class 中的名称,但我在这样做时遇到了麻烦。我认为这样做是朝着正确的方向迈出了一步

public class Holder {
   private Name name;
   private int snumber;

   public void setName(){
      name = new Name();
      name.getFirst();
      name.getLast();
   }

但我不能说我真的知道正确的做法是什么。我也试过 name.setFirst(getFirst) 但这不起作用。任何想法将不胜感激。

与 class 未嵌套时的方式相同。

您的 setName() 方法应采用一个参数(可能是 2 个,第一个和最后一个),然后调用 name.setFirstName()、name.setLastName() 方法。

现在,您的 setName() 方法没有执行任何操作。

例如:

public class Holder
{
   private Name name;
   private int snumber;

   public Holder()
   {
       this.name = new Name();
   }

   public void setName(String firstName, String lastName)
   {
      this.name.setFirst(firstName);
      this.name.setLAst(lastName);
   }
}

这里有一篇解释Java内部和外部类关系的好文章:

https://www.tutorialspoint.com/java/java_innerclasses.htm

class Outer_Demo {
   // private variable of the outer class
   private int num = 175;  

   // inner class
   public class Inner_Demo {
      public int getNum() {
         System.out.println("This is the getnum method of the inner class");
         return num;
      }
   }
}

public class My_class2 {

   public static void main(String args[]) {
      // Instantiating the outer class
      Outer_Demo outer = new Outer_Demo();

      // Instantiating the inner class
      Outer_Demo.Inner_Demo inner = outer.new Inner_Demo();
      System.out.println(inner.getNum());
   }
}

请注意,该示例创建了 "Outer_Demo" AND "Inner_Demo (outer.new Inner_Demo();).

的实例

好的,所以我想出了一些可行的方法。

public class Holder {
  private int snumber;
  private Name name;

 public void setName(Name n){
  name=n;
  }
 public Name getName(){
  return name;
}