>  기사  >  Java  >  Java 수정자 abstract, static 및 final을 사용하는 방법

Java 수정자 abstract, static 및 final을 사용하는 방법

WBOY
WBOY앞으로
2023-04-26 09:46:141046검색

Modifier abstract(추상)

1. Abstract는 클래스를 수정할 수 있습니다.

(1) abstract로 수정된 클래스를 추상 클래스라고 합니다.
(2) 구문:

                                                                                                추상 클래스 클래스 이름 {} ) 기능: 추상 클래스 객체를 별도로 생성할 수는 없지만 참조로 선언할 수 있습니다.

추상 범주 이름 참조 이름
(4) 추상 클래스는 멤버 변수 및 멤버 메서드를 정의할 수 있습니다.

(5) 추상 클래스에는 하위 클래스 객체를 생성하기 위한 구조적 메서드가 있습니다. 기본적으로 상위 클래스 객체
jvm이 상위 클래스 객체를 생성할 때 추상 생성 방법이 적용됩니다.

2. Abstract는 메서드를 수정할 수 있습니다

(1) asbtract로 수정된 메서드를 추상 메서드라고 합니다

(2) 구문:


액세스 한정자 추상 반환 값 유형 메서드 이름(형식 매개 변수 목록);

참고 : 추상 및 액세스 한정자에는 순서 요구 사항이 없습니다

(3) 기능: 추상 메서드에는 선언 부분만 있고 메서드의 구현 부분은 없습니다({}도 아니고;로 끝남)
(4) 참고: 추상 메서드는 선언 부분만 가질 수 있습니다. 추상 클래스에서만 정의할 수 있습니다. 그러나 추상 메서드 또는 비추상 메서드는 추상 클래스에서 정의할 수 있습니다.


추상 클래스의 하위 클래스:

(1) 구문:

클래스 하위 클래스 이름은 추상 클래스 이름을 확장합니다.

(2) 요구 사항: 하위 클래스가 추상 클래스가 되지 않으려면 추상 클래스의 상위 클래스에 있는 모든 추상 메서드를 포함해야 합니다(목적: 추상 메서드 구현 부분을 완료하기 위해).

하위 클래스인 경우 상위 클래스의 모든 추상 메소드를 포함하지는 않습니다. 추상 메소드는 추상 클래스로 정의되어야 하며 객체는 생성될 수 없습니다
(3) 응용: 추상 클래스는 다형성 응용을 구현합니다



추상 클래스 이름 참조 이름 = 새 하위 클래스 클래스 이름() ; // 상위 유형 하위 유형을 저장하는 객체에 대한 참조

Modifier static?(정적)

1. Static은 속성을 수정할 수 있습니다.

(1) static으로 수정되는 속성을 정적 속성, 정적 변수, 클래스 변수라고 합니다.

참고: 멤버 변수는 인스턴스 변수와 정적 변수(또는 정적 속성, 클래스 변수)로 구분됩니다.

(2) 위치: 클래스 내 정의, 메서드 외부, 정적에 의해 수정

(3) 구문:


액세스 modifier static data 유형 변수 이름;

액세스 한정자 static 데이터 유형 변수 이름 = value;


참고: 액세스 한정자와 static 사이에는 순서 요구 사항이 없지만 데이터 유형 앞에 와야 합니다

(4) 특징: 정적 속성은 생성된 개체 수에 관계없이 클래스 존재를 기반으로 하며 모든 개체에서 공유됩니다.
            a. 개체 이름을 통해

                                                                                                                                              
참고: 인스턴스 변수는 객체를 통해 액세스해야 합니다. 이름. 인스턴스 변수 이름

2. Static은 메소드를 수정할 수 있습니다.

(1) static으로 수정된 메소드를 정적 메소드라고 합니다.

(2) 구문:

액세스 한정자 static 반환 값 유형 메소드 이름(정식 매개변수 목록) {

​.정적 메소드 이름(실제 매개변수); --》권장
b. 정적 메소드(실제 매개변수) -->권장되지 않음

(4) 정적 메소드에서만; 이 클래스의 정적 멤버에 액세스합니다(정적 속성 및 정적 메서드)
b. 이 클래스의 비정적 멤버(인스턴스 변수 + 비정적 메서드)는 정적 메서드에서 직접 액세스할 수 없습니다.

c. 정적 메서드에 사용됨
d. 정적 메서드는 하위 클래스에서 상속될 수 있습니다
e. 정적 메서드는 정적 메서드로만 재정의될 수 있습니다. 정적 메서드는 다형성 애플리케이션을 반영하지 않습니다.

(5) 정적 메서드 적용 시나리오: 도구 클래스의 메서드는 일반적으로 설정됩니다. 또는




3. Static은 초기화 코드 블록을 수정할 수 있습니다

(1) static으로 수정된 초기화 코드 블록을 정적 코드 블록이라고 합니다
(2) 정적 코드 블록: 클래스 내에 정의된 메서드는 {}


정적 수정된 것으로 간주됩니다.

(3) 기능: 클래스 로딩 중 정의된 순서대로 정적 속성의 초기화를 완료합니다.
(4) 클래스 로딩:
a. 개념: JVM이 처음으로 클래스를 사용할 때 . classPath를 통해 클래스에 해당하는 클래스 파일
                                                                                                                        클래스 정보를 읽을 수 있습니다. jvm 메모리에 저장되며 클래스는 한 번만 로드됩니다.载 加 b. 클래스가 로드된 시기: (JVM이 처음으로 클래스를 사용한 것은 무엇입니까?)
I. 이 클래스에 대한 첫 번째 방문(정적 속성 및 정적 메소드)
이 클래스가 처음 생성된 때. : 먼저 클래스 로딩을 완료한 후 객체 생성을 완료합니다
   하위 클래스 객체의 첫 번째 생성: 고급 클래스 로딩 후 객체 생성 완료: 먼저 상위 클래스 로딩을 완료한 다음 하위 클래스를 완료합니다. 로딩

생성 객체: 먼저 상위 클래스 생성을 완료한 다음 하위 클래스 객체 생성

modifier final?(최종)

1. final은 변수를 수정할 수 있습니다.(로컬 변수, 멤버 변수 - 인스턴스 변수 및 정적 변수)

(1 ) 특징: final로 수정된 변수는 범위 내에서 상수입니다. 한 번의 할당만 허용되며 여러 번 사용할 수 있습니다.
참고: 최종 수정된 변수에 값이 할당되면 사용할 수 없습니다.

(2) 구문:

액세스 수정자 최종 데이터 유형 변수 이름 = value;

(3) 최종 수정된 인스턴스에는 더 이상 기본값이 없습니다. 개발자는 다음과 같은 값을 할당할 수 있습니다. ​to it:
            a. 정의되면 초기화하고 값을 할당합니다. + ~ 이 a=a; 정적 변수에는 더 이상 기본값이 없습니다. 개발자는 다음과 같이 값을 할당해야 합니다.

A. 정의 시 초기화, 할당

B. 정적 코드 블록 사용

                        static{
                                                                                                     참조는 참조에 저장된 개체를 변경할 수 없음을 의미합니다

2. 최종적으로 수정할 수 있음 method

및 하위 클래스로 상속될 수 있지만 하위 클래스는 허용되지 않습니다. Coverage.

3. Final이 속성을 수정할 수 있습니다.

final로 수정된 클래스는 상속될 수 없습니다.

위 내용은 Java 수정자 abstract, static 및 final을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제