내부 클래스,부분 내부 클래스 와 익명 내부 클래스 생 성 대상 방법
2789 단어 javase
A 클래스 에 정 의 된 B 클래스 는 내부 클래스 이 고 B 클래스 는 A 클래스 에서 다른 멤버 와 같은 위치 에 있 습 니 다.즉,서로 호출 할 수 있다 는 뜻 입 니 다.
장점:내부 클래스 를 통 해 자바 간접 적 으로 다 중 계승 가능
내부 클래스 의 대상 만 들 기
Outer out = new Outer();
.new
Outer.Inner in = out.new Inner();
in.play();
Outer out = new Outer();
out.show();
class Outer{
int age = 10;
class Inner{//
int height = 20;
public void play() {
age+=10;
System.out.println("Inner - play"+ age);
}
}
public void show() {
System.out.println("Outer - show");
// Inner
Inner in= new Inner();
in.play();
}
}
부분 내부 클래스:
정의:한 클래스 의 방법 중 클래스
역할 범위:이 를 정의 하 는 것 부터 해당 방법의 끝 역할 까지:코드 의 사유 화 를 확보 할 뿐만 아니 라 코드 를 정리 하여 코드 의 가 독성,조작 성 을 증가 시 켰 다.
class {
(){
{
(){
}
}
}
}
익명 내부 클래스
익명 내부 클래스(대상):한 가지 방법 에 정 의 된 익명 하위 클래스 의 대상 은 국부 내부 클래스 익명 내부 클래스 의 역할 에 속 합 니 다.클래스 의 민영화 에 사용 되 고 외부 클래스 만 볼 수 있 습 니 다.
,
class Text1 {
public void text1Method() {
System.out.println("text1Method");
}
}
class SubText1 extends Text1 {
public void text1Method() {
System.out.println("SubText1-Method");
}
}
익명 대상 만 들 기,방법 호출 완료
new Text1().text1Method();
익명 하위 클래스 만 들 기
new SubText1().text1Method();
:new / +()+{
};
Text1 t = new Text1() {
// Text1
public void text1Method() {
System.out.println(" ");
}
//
public void bark() {
System.out.println("bark");
}
};
익명 내부 클래스 를 매개 변수 와 반환 값 으로 연구 합 니 다.
매개 변수 로
//
public void textCanshu1() {
System.out.println(new Text1());
}
//
public void textCanshu2() {
System.out.println(
new Text1() {
public String xiuxiuxiu() {
System.out.println(" ");
// com.qinafeng.text.Out$3@4e25154f
return "dididi";
}
}.xiuxiuxiu());
}
반환 값 으로
//
public Text1 textFanhuizhi1() {
return new Text1();
}
//
public Text1 textFnhuizhi2() {
return new Text1() {
public void xiuxiuxiu() {
System.out.println(" ");
}
};
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다크호스 프로그래머Java 기초문자열 조작하나의 문자열 은 String 류 의 익명 대상 이 고 익명 의 대상 은 메모리 공간 을 열 었 으 며 직접 사용 할 수 있 는 대상 이다.두 번 째 방식 에 대해 new 키 워드 를 사용 하면 어떻게 든 새로운 공...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.