결정적인--
최종은 클래스가 서브 클래스를 도출 할 수 없음을 나타내는 데 사용됩니다.
최종은 메소드가 서브 클래스로 다시 작성할 수 없음을 나타내는 데 사용됩니다.
Final은 C/C ++의 Const 키워드와 유사한 변수 일 때 상수를 나타내는 데 사용됩니다.
최종은 멤버 변수가 상수이며 변수가 정의 될 때 값을 할당해야 함을 나타냅니다.
Final은 로컬 변수가 상수이며 변수를 정의 할 때 값을 할당하거나 값을 할당 할 수 있음을 나타냅니다.
공전---
정적은 변수의 사본이 하나만 있음을 나타내는 데 사용됩니다. 멤버 변수, 해당 클래스 이름이 완료됩니다. 정의 된 경우 정적 멤버 변수를 초기화 할 수 있습니다.
정적은 메소드에 사용되므로 클래스를 인스턴스화하지 않고 클래스 이름을 통해 정적 메소드를 호출 할 수 있습니다. 참조. 변수.
정적은 여기에서 내부 클래스를 나타내는 클래스에 사용되므로 다른 곳의 외부 클래스 이름을 통해이 정적 내부 클래스를 참조 할 수 있습니다.
정적 코드 블록은 클래스 코드 블록에 사용될 수 있습니다 JVM은 클래스를로드하면 이러한 정적 코드 블록이 여러 개가 있으면 JVM이 클래스에 표시된 순서대로 실행되며 각 코드 블록은 한 번만 실행됩니다.
클래스 액세스 권한 (Y/N)
||. 키워드 ||
| 공개 | y |
|
| 기본 |
개인 |. n |
세 가지 키워드 공개, 보호 및 개인은 클래스 (내부 클래스), 멤버 변수 및 멤버 기능이 패키지에서 유효합니다. 함수는 가장 낮은 액세스 권한을 선택하십시오.
인터페이스/구현/확장/클래스 - - -
인터페이스는 인터페이스의 메소드를 선언하는 데 사용됩니다.
구현은 인터페이스를 구현하는 데 사용되며 인터페이스의 모든 메소드는 동시에 여러 인터페이스를 구현하려면 필요합니다.
확장은 부모 클래스 또는 상위 등급을 상속하는 데 사용됩니다.
클래스는 클래스를 선언하는 데 사용됩니다. 액세스 권한은 공개 또는 기본 권한이 될 수 있으며, 초록 또는 최종 클래스에 대해서도 다른 제한이 있습니다.
추상적인-
초록은이 클래스가 추상 클래스이며 인스턴스화 할 수 없음을 나타내는 데 사용됩니다.
초록은이 방법이 추상적 인 방법을 나타내는 데 사용되며, 구현되지 않으며 서브 클래스로 구현 될 수 있습니다.
이것과 Super의 사용에 중점을 두겠습니다.
이것
Java 키워드 이것은 방법 본문에서만 사용할 수 있습니다. 객체가 만들어지면 JVM (Java Virtual Machine)은 자체를 나타내는 객체에 포인터를 할당 하며이 포인터의 이름은 이것입니다. 따라서 클래스에서 비 정적 메소드에서만 사용될 수 있습니다. 이는 정적 메소드와 정적 코드 블록으로 표시되어야합니다. 그리고 이것은 클래스가 아닌 특정 객체와 관련이 있으며 같은 클래스의 다른 개체는 이것을 다릅니다. 다음은 문제를 설명하기 위해 이것을 사용하는 포괄적 인 예입니다.
org.leizhimin; public int int x = 10; = n;} public6 (int i, 문자열 사용자 이름, 문자열 비밀번호) {// 멤버 변수와 매개 변수는 차단되고 멤버 변수가 "this. 멤버 변수에 액세스합니다. ". this.username = username; this. (문자열 이름) {this (1, 이름, "빈"); Guest "); t1.outinfo (t1); t2.outinfo (t2);} private void outinfo (test6 t) {system.out.println ("---------------- -"); system.out.println (t.number); system.out.println (t.username); System.out.println (t.password); f (); // 이것은 다음과 같이 쓸 수 있습니다. this.f ();} private void f () {// 로컬 변수는 멤버 변수와 동일하며 멤버 변수가 차단되고 멤버 변수는 "this. 멤버 변수"형식으로 액세스합니다 x;
작업 결과는 다음과 같습니다.
--------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- ------
위의 예를 살펴보면 이것이 필요한 상황에서 다음을 설명합니다.
먼저,이를 통해 다른 생성자를 호출하십시오. 이는 이것 (매개 변수 목록)입니다. 이것은 클래스 생성자에만 사용되며 다른 곳에서는 사용할 수 없습니다.
둘째, 함수의 함수 매개 변수 또는 로컬 변수가 멤버 변수와 동일한 이름을 갖는 경우, 멤버 변수가 차단되면 "this. 멤버 변수 이름"을 사용해야합니다. 멤버 변수를 참조하십시오. 물론 같은 이름이 없으면이 대신에 멤버 변수의 이름을 직접 사용할 수 있습니다. 사용하는 것은 잘못된 것이 아닙니다.
셋째, 함수에서 함수가 속한 클래스의 현재 객체를 참조해야 할 때 직접 사용하십시오.
사실, 이러한 사용법은 모두 "객체 자체에 대한 포인터"에 대한 더 깊은 이해에서 비롯됩니다.
감독자
수퍼의 키는 이와 유사합니다. 즉, 차단 된 멤버 변수 또는 멤버 메소드가 표시되거나 차단 된 멤버 변수 및 멤버 멤버 메소드를 참조하는 데 사용됩니다.
그러나 Super는 직접 부모 클래스에서 차단 된 멤버에 액세스 할 목적으로 서브 클래스로 사용됩니다. 다음은 두 가지 수업과 함께 슈퍼를 사용하는 예입니다. 아버지 클래스 아들의 서브 클래스는 다음과 같습니다.
org.leizhimin; 공개 문자열 v = "아버지"; } 공개 아버지 (String v) {this.v = "아버지 클래스의 매개 변수 생성자 방법!} public void outInfo () {System.out.println ); // 슈퍼 클래스 생성자 메소드는 첫 번째 줄에만 배치 될 수 있습니다 생성자 바디} 공개 아들 (string) void outInfo () {system.out.println (아들의 untinfo () 메소드는}} {string v = "hahahaha!"; System.out.println ( "----------"); (서브 클래스) 멤버 변수 V System.out.println (Super.v); println (x); // 슈퍼 클래스 멤버 변수 v, system.out.println (super.x)의 서브 클래스 상속; -"); outInfo (); // 서브 클래스의 outInfo () 메소드를 호출 this.outInfo (); // outInfo () 메소드 super.outInfo (); // 부모 클래스} public static void main (string [] args) {new son (). test ()};
서브 클래스 아들 실행 결과 :
아버지 생성자는 아들 파라미터가없는 생성자라고합니다! ------ 1 --------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- X 아버지 클래스 출력의 공개 회원 변수 !!! ------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------