> Java > java지도 시간 > Java 캡슐화 및 권한 수정자의 적용 사례 분석

Java 캡슐화 및 권한 수정자의 적용 사례 분석

WBOY
풀어 주다: 2023-04-29 18:28:15
앞으로
1410명이 탐색했습니다.

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();
    }

}
로그인 후 복사

Java 캡슐화 및 권한 수정자의 적용 사례 분석

다음 코드를 따라 실행 결과를 확인하세요.

 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿