네 자바 액세스 수정
네 멤버 변수는 수정이 있습니다
개인 전용
패키지 페널티를위한 / 친절 / 기본하지 쓰기
보호 보호
공공 공개
대중의 예를 들면, 공공 표현
public String name;
패키지 / 친절 / 기본을 나타내는 렛없이 수정,
float maxHP
예 1 급 관계
: 클래스 A와 클래스 사이의 관계는 다음과
케이스 영웅에서
자체 : 영웅 자신을 지칭
빵 카테고리로 : ADHero이 클래스 영웅 히어로의 서브하고있는 아래 동일한 패키지
다른 종류의 빵 이 지원 영웅 클래스는 서브 클래스이지만,에 다른 패키지
가방과 함께 : GiantDragon와 영웅이 클래스는 동일한 패킷 하지만 서로 전혀 상속 관계
다른 카테고리 : 항목이 클래스는, 다른 패키지에 ,의 더 클래스 계층 구조가없는
예 2 : 개인 개인
개인 재산 변경의 사용
자체가 : 액세스 할 수 있습니다
만두 클래스 : 상속하지
다른 클래스 빵을 : 당신은 상속 할 수 없습니다
같은 가방 : 액세스 할 수없는
다른 가방 : 액세스 할 수없는
참고 : 빨간색 글꼴, 표현이 가능하지
package charactor;
import property.Weapon;
public class Hero {
//属性id是private的,只有Hero自己可以访问
//子类不能继承
//其他类也不能访问
private int id;
String name;
float hp;
float armor;
int moveSpeed;
public void equip(Weapon w) {
}
}
예 3 : / 친절 / 기본 쓰지 용 패키지 페널티
더 수정 패키지를 표시하지 않는 / 동반 / 기본
부동 소수점 렛을, 제한 혈액
package charactor;
import property.Weapon;
public class Hero {
private int id;
String name;
// 无修饰符的属性 hp
// 自己可以访问
// 同包子类可以继承
// 不同包子类不能继承
// 同包类可以访问
// 不同包类不能访问
float hp;
float armor;
int moveSpeed;
public void equip(Weapon w) {
}
}
예 4 : 보호로 보호
보호 수정
플로트 마력을 보호, 혈액
package charactor;
import property.Weapon;
public class Hero {
private int id;
String name;
// protected饰符的属性 hp
// 自己可以访问
// 同包子类可以继承
// 不同包子类可以继承
// 同包类可以访问
// 不同包类不能访问
protected float hp;
float armor;
int moveSpeed;
public void equip(Weapon w) {
}
}
예 5 : 공공 공개
공공 수정은
공공 문자열 이름, 이름
어디서나 액세스 할 수 있습니다
package charactor;
import property.Weapon;
public class Hero {
private int id;
// public的属性 name
// 自己可以访问
// 同包子类可以继承
// 不同包子类可以继承
// 同包类可以访问
// 不同包类可以访问
public String name;
protected float hp;
float armor;
int moveSpeed;
public void equip(Weapon w) {
}
}
예 6 : 요약
예 7 : 그래서 그것이 무슨 소용이있는 수정은 어떻게됩니까?
그래서 그것이 무슨 소용이있는 수정은 어떻게됩니까?
보기의 범위의 관점에서, 수 대중은 모든 경우를 사용합니다. 그러나 직장에서 모든 사람, 그들은 정말 수정 자 무슨 소용이 무엇 결국, 모든 공공을 수 있도록 사용하지 않는?
- 개인 속성은 일반적으로 캡슐화하는 데 사용됩니다
- 일반 대중을위한 방법을 요구한다
- 서브 클래스의 방법으로 상속됩니다, 일반적으로 보호 사용
- 와 패키지 아주 작은, 그것은이 일 수정 인식하지 않았기 때문에 일반적으로, 패키지를 사용합니다 초보자
그런 다음이 최소 범위의 원리는
간단하게 말해서, 그 다음하지 보호를 사용하는 방법, 그리고 마지막으로 대중 패키지와 함께,하지 줌 레벨에서, 개인과 개인이 될 수 있습니다. 이 노출하지 않았을, 공개 될 필요가 없습니다, 가능한 한 많은 데이터를 캡슐화합니다