Ambas as classes suportam encapsulamento e…?

public class Normal {
   public string name;     // name is public

   public String getName() {
        return name ;
   }

   public  String setName(String newName) {
         name = newName ;
         return name ;
   }

   public static void main(String args[]) {
      Normal normal = new Normal();
      normal.setName("suhail gupta");
      System.out.println( "My name is : " + normal.getName() );    
  }
 } 

Nova classe começa a partir daqui

public class Different {
   private string name;         // name is private

   public String getName() {
        return name ;
   }

   public  String setName(String newName) {
         name = newName ;
         return name ; 
   }

   public static void main(String args[]) {
      Different different = new Different();
      different.setName("suhail gupta");
      System.out.println( "My name is : " + different.getName() );    
  }
 } 

primeira classe temnom declarado public e outra classe tem o nome declaradoprivad. Ambas as classes fazem o mesmo trabalho, mas possuem apenas especificadores de acesso para nomes diferentes. Agora

Minhas perguntas são?

Ambas as classes suportam encapsulamento? Se sim, por queprivate preferido sobrepublic ? (Eu fiz o mesmo trabalho declarandonom público como fiz declarandoprivate)Que classe é mais fácil de manter? Com quais programadores de classe estarão à vontade duranterefactoring ?Como énormal classe diferente, dedifferent classe Quando eles dizem Não encapsulado significa Imutável, como é imutável aqui?

questionAnswers(3)

yourAnswerToTheQuestion