Java universal getter/setter or pass attribute as a getter/setter argument

67 Views Asked by At

Is it possible to make a class getter/setter that can take any of the class attributes as an argument so as not to have to make a getter/setter pair for each attribute needed?

I am new to Java

For example, is something like this possible?

class Someclass {
   int var1;
   int var2;
   int var3;

   public int getanyvar(Attribute varname) {
      return varname;
   }

   public void setanyvar(Attribute varname, int value) {
      varname = value;
   }
}
1

There are 1 best solutions below

1
Popo On

I don't really recommend this, but you could easily do it with a switch

public void setanyvar(String varname, int value) {
   switch (varname) {
   case "var1":
      var1 = value;
      break;
   case "var2":
      var2 = value;
      break;
   case "var3":
      var3 = value;
      break;
   }
}

Just make getters and setters for each attribute, I feel like this way of doing things would get annoying and confusing.