如何实现Java封装。。

1. 修改属性的可见性来限制对属性的访问(一般限制为private),例如:

public class Person {
    private String name;
    private int age;
}

     在以上代码中,将name和age变量设为了private类型,这样就讲二者很好的隐藏在了本类内部,限制了外部类对二者的访问权限。

        在上述例子中,类中定义的属性写法为String name,这样写的话用户便可以在本类中使用class名.name访问到这个属性,但由于其类型是private,对于外部类来说,该如何访问到呢?具体方法如2所述。

2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,例如:

public class Person{
    private String name;
    private int age;

    public int getAge(){
      return age;
    }

    public String getName(){
      return name;
    }

    public void setAge(int age){
      this.age = age;
    }

    public void setName(String name){
      this.name = name;
    }
}

        此处采用this关键字,主要是为了解决private String name和setName(String name)中的name变量间发生的同名冲突。或者也可以按如下方式定义setAge方法。

pubic void setAge(int newage){
    age = newage;
}

  接下来看一个java封装类的例子。

public class Test{
 
   private String name;
   private String id;
   private int age;
 
   public int getAge(){
      return age;
   }
   public String getName(){
      return name;
   }
   public String getId(){
      return id;
   }
   public void setAge(int newAge){
      age = newAge;
   }
   public void setName(String newName){
      name = newName;
   }
   public void setId( String newId){
      id = newId;
   }
}

        以上代码中的pubic方法便是外部类访问内部成员变量的“入口",通常情况被称为getter和setter方法,要想访问类中私有成员变量的类,都需要通过这些方法,下方代码说明了如何具体访问。

public class RunTest{
   public static void main(String args[]){
      Test test = new Test();
      test.setName("wuyu");
      test.setAge(22);
      test.setId("wy12343");
 
      System.out.print("Name : " + test.getName()+
                " Age : "+ test.getAge() + " ID : " + test.getId());
    }
}

        编译运行结果如下:

封装Python dll_前端

封装Python dll_java_02