title: Getters/setters in Java
body: <p>I'm new to Java, but have some OOP experience with ActionScript 3, so I'm trying to migrate relying on stuff I know.</p>
  
  <p>In ActionScript 3 you can create getters and setters using the get and set keywords, meaning you create a method in the class and access data through a property of an instance of that class. I might sound complicated, but it's not. Here's an example:</p>
  
  <pre><code>class Dummy{
  
      private var _name:String;
  
      public function Dummy(name:String=null){
          this._name = name;
      }
  
      //getter
      public function get name():String{
          return _name;
      }
  
      //setter
      public function set name(value:String):void{
      //do some validation if necessary
          _name = value;
      }
  
  }
  </code></pre>
  
  <p>And I would access <code>name</code> in an object as:</p>
  
  <pre><code>var dummy:Dummy = new Dummy("fred");
  trace(dummy.name);//prints: fred
  dummy.name = "lolo";//setter
  trace(dummy.name);//getter
  </code></pre>
  
  <p>How would I do that in Java?</p>
  
  <p>Just having some public fields is out of the question.
  I've noticed that there is this convention of using get and set in front of methods, which I'm OK with.</p>
  
  <p>For example,</p>
  
  <pre><code>class Dummy{
  
      String _name;
  
      public void Dummy(){}
  
      public void Dummy(String name){
          _name = name;
      }
  
      public String getName(){
          return _name;
      }
  
      public void setName(String name){
          _name = name;
      }
  
  }
  </code></pre>
  
  <p>Is there an equivalent of ActionScript 3 getter/setters in Java, as in
  accessing a private field as a field from an instance of the class, but having a method for implementing that internally in the class?</p>