4.22 네스트된 클래스
2525 단어 중첩 클래스
1. 정적 구성원 플러그인 클래스: 외부 클래스로 볼 수 있는 정적 방법으로 외부 클래스에 접근할 수 있는 정적 속성과 방법.
2. 구성원 플러그인 클래스: 외부 클래스로 볼 수 있는 구성원 방법으로 외부 클래스의 모든 구성원 속성과 방법에 접근할 수 있다.구성원 중첩 클래스의 객체는 외부 클래스의 객체와 연관되며, 다음과 같이 연관됩니다(구성원 중첩 클래스는 Outer.this를 통해 연관된 외부 클래스 객체에 액세스할 수 있습니다).
Outer.Inner inner=new Outer().new Inner();
3. 익명 플러그인 클래스: 외부 클래스로 볼 수 있는 국부 변수, 외부 클래스의 모든 구성원 속성과 방법에 접근할 수 있고final로 수식된 국부 변수
4. 부분 플러그인 클래스: 익명 플러그인 클래스와
사용 지침:
1. 플러그인 클래스가 외부 클래스 대상에 접근할 필요가 없다면 정적 구성원 플러그인 클래스를 사용하여 GC가 제때에 회수할 수 있도록 해야 한다.
2. 외부 클래스의 방법에 상응하는 유형이 존재하면 익명 플러그인 클래스를 우선적으로 사용해야 한다
3. 익명 플러그인 클래스와 국부 플러그인 클래스는 비교적 적은 코드량을 유지해야 한다
4.public,protected 수식 플러그인 종류를 조심스럽게 사용
사용 예:
1. 정적 구성원 플러그인 클래스는 도움말 클래스로 사용 가능
public class Layout {
private LayoutParams layoutParams;
public LayoutParams getLayoutParams() {
return layoutParams;
}
public void setLayoutParams(LayoutParams layoutParams) {
this.layoutParams = layoutParams;
}
//
public static class LayoutParams{
private int width;
private int height;
//
public static int MATCH_PARENT=-1;
public static int WRAP_CONTENT=-2;
public LayoutParams(int width,int height){
this.width=width;
this.height=height;
}
}
}
2. 구성원 플러그인 클래스를 사용하여 여러 인터페이스 구현
interface Singer{
void sing();
}
interface SongWriter{
void write();
}
//Person
public class Person implements Singer,SongWriter{
private String name;
private Singer singer;
private SongWriter songWriter;
public Person(String name){
this.name=name;
this.singer=new SingerImpl();
this.songWriter=new SongWriterImpl();
}
public void sing() {
singer.sing();
}
public void write() {
songWriter.write();
}
private class SingerImpl implements Singer{
public void sing() {
System.out.println(name+"is singing!!!");
}
}
private class SongWriterImpl implements SongWriter{
public void write() {
System.out.println(name+"is writing!!!");
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
4.22 네스트된 클래스네스트된 클래스는 다음과 같습니다. 1. 정적 구성원 플러그인 클래스: 외부 클래스로 볼 수 있는 정적 방법으로 외부 클래스에 접근할 수 있는 정적 속성과 방법. 2. 구성원 플러그인 클래스: 외부 클래스로 볼 수 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.