1. 사용자가 직접 데이터를 입력할 수 없도록 속성을 캡슐화합니다. 사용자가 "object.property" 메소드를 사용하여 속성에 값을 할당하는 것을 방지해야 합니다. 그런 다음 속성을 비공개로 선언해야 합니다.
2. 클래스의 속성을 사유화하고 이 속성의 값을 가져오고(getXxx) 설정(setXxx)하는 공개 메서드를 제공합니다.
캡슐화 구현에는 권한 수정자가 필요합니다.
1. Java에서 지정한 네 가지 권한(작은 것부터 큰 것까지 정렬): private, default, protected, public
2 이 네 가지 권한은 클래스와 클래스의 내부 구조를 수정하는 데 사용할 수 있습니다. : 속성, 메서드, 생성자, 내부 클래스
3. 구체적으로 클래스의 내부 구조를 수정하는 데는 4가지 유형의 권한을 사용할 수 있습니다: 속성, 메서드, 생성자, 내부 클래스
클래스를 수정하려면 다음과 같은 권한만 사용할 수 있습니다. 사용: default, public
예:
package KindMethod3; public class privateTest { // 用private修饰,定义为私有变量,外不不能随意更改 private int age; //年龄 private String name; //名字 // 同时,我们给这两个属性创建两个可以更改他们的接口 public void setAge(int age){ this.age=age; } public int getAge(){ return age; } public void setName(String name){ this.name=name; } public String getName(){ return name; } public void disPlay(){ System.out.println("我的名字叫"+name+"今年"+age+"岁"); } }
package KindMethod3; public class privateTest1 { public static void main(String[] args) { privateTest sc = new privateTest(); // 这个时候就不能直接给类中属性直接赋值了,就会报错 // sc.age=18; // sc.name="小芳" // 我们需要通过set方法给属性赋值,get取值 sc.setAge(18); sc.setName("小芳"); sc.disPlay(); } }
다음 코드를 따라 실행 결과를 확인하세요.
public class Order { private int text1; int text2; public int text3; private void methodPrivate(){ text1 = 1; text2 = 2; text3 = 3; } void methodDefault(){ text1 = 1; text2 = 2; text3 = 3; } public void methodPublic(){ text1 = 1; text2 = 2; text3 = 3; } }
public class OrderTest { public static void main(String[] args) { Order order = new Order(); order.text2 = 1; order.text3 = 2; //出了Order类之后,私有的结构就不可以调用了 // order.text1 = 3;//The field Order.text1 is not visible order.methodDefault(); order.methodPublic(); //出了Order类之后,私有的结构就不可以调用了 // order.methodPrivate();//The method methodPrivate() from the type Order is not visible } }
위 내용은 Java 캡슐화 및 권한 수정자의 적용 사례 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!