일반 내부 클래스
일반 내부 클래스에서 마스터해야 할 두 가지 주요 사항이 있습니다.
부모 클래스에 대한 참조를 보유하므로 어떤 액세스로든 부모 클래스의 변수 및 메서드에 액세스할 수 있습니다. right
내부 클래스는 상위 클래스 외부에 있음 생성 메소드
public class Main{ public static void main(String args[]){ Outer outer = new Outer(); //外部类外部创建内部类 Outer.Inner inner = outer.new Inner(); inner.method(); } } class Outer{ private String value = "OuterValue"; class Inner{ public void method(){ //持有父类引用,可以访问父类private变量value System.out.println(value); } //利用.this关键字,可以返回父类对象引用 public Outer outerObject(){ return Outer.this; } } }
(권장 튜토리얼: java 입문 프로그램)
메서드 내부 클래스
메서드에 직접 정의된 내부 클래스
와 동일한 권한을 누릴 수 있습니다. 외부 클래스의 다른 메서드와 멤버 변수에 액세스할 수 있습니다.
메소드 1.8 이후에는 매개변수를 final로 설정할 필요가 없습니다.
메서드의 로컬 변수와 동일한 권한을 가지며, 앞에 정의된 로컬 변수에 액세스할 수 있습니다
메서드 범위 내에서 메소드의 내부 클래스에만 접근할 수 있습니다.
public class Main{ public static void main(String args[]){ Outer outer = new Outer(); outer.outerMethod("param"); } } class Outer{ public void outerMethod(String value){ class Inner { public void innerMethod(){ //可以访问方法参数 //1.8以后,内部类访问的方法参数不必设置为final System.out.println(value); } } new Inner().innerMethod(); } }
익명 내부 클래스
익명 내부 클래스는 실제로 우리가 자주 사용하는 핵심이자 지식 포인트입니다.
예를 들어, 새 스레드를 생성합니다
public class Main{ public static void main(String args[]){ Thread a = new Thread(new Runnable(){ @Override public void run(){ System.out.println("thread a is running;"); } }); a.start(); } }
위 코드는 Runnable 인터페이스를 구현하는 익명 클래스 객체를 생성한다는 의미이며, 이는 작성 편의성 때문에 두 번째 유형을 자주 사용합니다
.public class Main{ public static void main(String args[]){ Thread a = new Thread(new RunnableImp()); a.start(); } static class RunnableImp implements Runnable{ @Override public void run(){ System.out.println("thread a is running;"); } } }
정적 내부 클래스
다음 두 가지 사항을 기억하세요
정적 내부 클래스 객체를 생성하려면 외부 클래스의 객체가 필요하지 않습니다(일반 내부 클래스에 필요)
비정적 외부 클래스에 접근할 수 없습니다 정적 내부 클래스의 클래스 메서드 또는 멤버 변수
public class Main{ Outer.Inner inner = new Outer.Inner(); } class Outer{ private String ordValue; private static String staValue; static class Inner{ { System.out.println(staValue); //这句编译通不过 //System.out.println(ordValue); } } }
관련 동영상 튜토리얼 추천: java video
위 내용은 Java 내부 클래스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

드림위버 CS6
시각적 웹 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
