(1) abstract로 수정된 클래스를 추상 클래스라고 합니다.
(2) 구문:
(4) 추상 클래스는 멤버 변수 및 멤버 메서드를 정의할 수 있습니다.추상 클래스 클래스 이름 {} ) 기능: 추상 클래스 객체를 별도로 생성할 수는 없지만 참조로 선언할 수 있습니다.
추상 범주 이름 참조 이름
(5) 추상 클래스에는 하위 클래스 객체를 생성하기 위한 구조적 메서드가 있습니다. 기본적으로 상위 클래스 객체
jvm이 상위 클래스 객체를 생성할 때 추상 생성 방법이 적용됩니다.
2. Abstract는 메서드를 수정할 수 있습니다
액세스 한정자 추상 반환 값 유형 메서드 이름(형식 매개 변수 목록);
(4) 참고: 추상 메서드는 선언 부분만 가질 수 있습니다. 추상 클래스에서만 정의할 수 있습니다. 그러나 추상 메서드 또는 비추상 메서드는 추상 클래스에서 정의할 수 있습니다.참고 : 추상 및 액세스 한정자에는 순서 요구 사항이 없습니다
(3) 기능: 추상 메서드에는 선언 부분만 있고 메서드의 구현 부분은 없습니다({}도 아니고;로 끝남)
추상 클래스의 하위 클래스:
클래스 하위 클래스 이름은 추상 클래스 이름을 확장합니다.
(3) 응용: 추상 클래스는 다형성 응용을 구현합니다(2) 요구 사항: 하위 클래스가 추상 클래스가 되지 않으려면 추상 클래스의 상위 클래스에 있는 모든 추상 메서드를 포함해야 합니다(목적: 추상 메서드 구현 부분을 완료하기 위해).
하위 클래스인 경우 상위 클래스의 모든 추상 메소드를 포함하지는 않습니다. 추상 메소드는 추상 클래스로 정의되어야 하며 객체는 생성될 수 없습니다
추상 클래스 이름 참조 이름 = 새 하위 클래스 클래스 이름() ; // 상위 유형 하위 유형을 저장하는 객체에 대한 참조
1. Static은 속성을 수정할 수 있습니다. (1) static으로 수정되는 속성을 정적 속성, 정적 변수, 클래스 변수라고 합니다.Modifier static?(정적)
(3) 구문:
액세스 modifier static data 유형 변수 이름;
a. 개체 이름을 통해(4) 특징: 정적 속성은 생성된 개체 수에 관계없이 클래스 존재를 기반으로 하며 모든 개체에서 공유됩니다.
참고: 액세스 한정자와 static 사이에는 순서 요구 사항이 없지만 데이터 유형 앞에 와야 합니다
참고: 인스턴스 변수는 객체를 통해 액세스해야 합니다. 이름. 인스턴스 변수 이름
2. Static은 메소드를 수정할 수 있습니다.
(2) 구문:
액세스 한정자 static 반환 값 유형 메소드 이름(정식 매개변수 목록) { .정적 메소드 이름(실제 매개변수); --》권장
b. 정적 메소드(실제 매개변수) -->권장되지 않음
b. 이 클래스의 비정적 멤버(인스턴스 변수 + 비정적 메서드)는 정적 메서드에서 직접 액세스할 수 없습니다.c. 정적 메서드에 사용됨
(5) 정적 메서드 적용 시나리오: 도구 클래스의 메서드는 일반적으로 설정됩니다. 또는
d. 정적 메서드는 하위 클래스에서 상속될 수 있습니다
e. 정적 메서드는 정적 메서드로만 재정의될 수 있습니다. 정적 메서드는 다형성 애플리케이션을 반영하지 않습니다.
3. Static은 초기화 코드 블록을 수정할 수 있습니다
(1) static으로 수정된 초기화 코드 블록을 정적 코드 블록이라고 합니다
(2) 정적 코드 블록: 클래스 내에 정의된 메서드는 {}
정적 수정된 것으로 간주됩니다.
(3) 기능: 클래스 로딩 중 정의된 순서대로 정적 속성의 초기화를 완료합니다.
(4) 클래스 로딩:
a. 개념: JVM이 처음으로 클래스를 사용할 때 . classPath를 통해 클래스에 해당하는 클래스 파일
클래스 정보를 읽을 수 있습니다. jvm 메모리에 저장되며 클래스는 한 번만 로드됩니다.载 加 b. 클래스가 로드된 시기: (JVM이 처음으로 클래스를 사용한 것은 무엇입니까?)
I. 이 클래스에 대한 첫 번째 방문(정적 속성 및 정적 메소드)
이 클래스가 처음 생성된 때. : 먼저 클래스 로딩을 완료한 후 객체 생성을 완료합니다
하위 클래스 객체의 첫 번째 생성: 고급 클래스 로딩 후 객체 생성 완료: 먼저 상위 클래스 로딩을 완료한 다음 하위 클래스를 완료합니다. 로딩
생성 객체: 먼저 상위 클래스 생성을 완료한 다음 하위 클래스 객체 생성
modifier final?(최종)
1. final은 변수를 수정할 수 있습니다.(로컬 변수, 멤버 변수 - 인스턴스 변수 및 정적 변수)
(1 ) 특징: final로 수정된 변수는 범위 내에서 상수입니다. 한 번의 할당만 허용되며 여러 번 사용할 수 있습니다.
참고: 최종 수정된 변수에 값이 할당되면 사용할 수 없습니다.
(3) 최종 수정된 인스턴스에는 더 이상 기본값이 없습니다. 개발자는 다음과 같은 값을 할당할 수 있습니다. to it:
a. 정의되면 초기화하고 값을 할당합니다. + ~ 이 a=a; 정적 변수에는 더 이상 기본값이 없습니다. 개발자는 다음과 같이 값을 할당해야 합니다.
B. 정적 코드 블록 사용
static{참조는 참조에 저장된 개체를 변경할 수 없음을 의미합니다 2. 최종적으로 수정할 수 있음 method
및 하위 클래스로 상속될 수 있지만 하위 클래스는 허용되지 않습니다. Coverage.
final로 수정된 클래스는 상속될 수 없습니다.
위 내용은 Java 수정자 abstract, static 및 final을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!