>  기사  >  Java  >  Java 상속에 대한 자세한 소개

Java 상속에 대한 자세한 소개

零下一度
零下一度원래의
2017-07-26 16:59:392939검색

1. 상속의 개념

1. 상위 클래스가 하위 클래스를 파생시키는 메커니즘을 상속이라고 합니다.

2. 상속은 프로그램 코드를 재사용하는 강력한 수단입니다. 여러 클래스 간에 동일한 속성과 메서드가 있는 경우 이러한 클래스에서 상위 클래스를 추상화할 수 있습니다.

3. 이러한 속성과 메서드는 상위 클래스에서만 정의하면 되며 하위 클래스는 이러한 속성과 메서드를 재정의할 필요가 없으며 상위 클래스에서 직접 상속할 수 있습니다.

4. 상속을 통해 하위 클래스는 상위 클래스에 정의된 속성과 메서드를 자동으로 갖게 됩니다.

5. 두 개 이상의 클래스 멤버가 부분적으로 동일한 경우 상속 메커니즘을 통해 기존 클래스를 사용하여 새 클래스를 만들 수 있습니다.

6. 하위 클래스에는 상위 클래스의 멤버가 있을 뿐만 아니라 새 멤버를 정의할 수도 있습니다.

7. 소프트웨어의 재사용성과 확장성을 향상시킬 수 있습니다.

2. 상위 클래스 및 하위 클래스

1. 상위 클래스: 기본 클래스 또는 상위 클래스

2. 하위 클래스: 파생 클래스 또는 파생 클래스

3. 상속 구현

사용 키워드를 확장합니다.

4. 액세스 제어

Java 언어는 외부 클래스의 클래스 멤버 사용을 제한하는 액세스 제어 규칙을 설정합니다.

패키지 내 액세스외부 패키지 하위 클래스 액세스외부 패키지 액세스 안돼

참고: 상위 클래스에서 private으로 수정된 속성 및 메서드는 하위 클래스에 투명하며 상속될 수 없습니다.

5. 상속의 생성자 메서드

1. 상위 클래스의 생성자 메서드는 하위 클래스에서 상속될 수 없습니다.

2. 하위 클래스는 자체 생성자를 실행하기 전에 먼저 상위 클래스의 생성자 메서드를 호출해야 합니다. 메소드는 두 가지 유형으로 나뉩니다. A. 표시 호출: 하위 클래스 생성자의 첫 번째 문장은 super 키워드를 사용하여 상위 클래스를 호출할 생성된 메소드를 지정합니다. 예: super() // 없이 상위 클래스를 호출합니다. 매개변수 생성 방법 p Super(매개변수 목록) // 부모 클래스 매개변수 생성 방법 호출

B. Cissed 호출: 호출이 표시되지 않으면 매개변수 생성 방법 없이 자동으로 부모 클래스를 호출합니다. 이는 호출을 표시하는 것과 같습니다. super( ), 즉 상위 클래스의 기본 생성자를 호출할 때 super()

                                                                        use            ’ s

- 1----, 생성자

2. 부모 클래스의 생성자에서 하위 클래스 생성자는 부모 클래스 생성자에 대한 명시적 호출을 생략할 수 있습니다.

3. 부모 클래스에 매개변수가 있는 생성자만 있는 경우 하위 클래스의 생성자는 메서드에 super 키워드를 사용해야 합니다. 부모 클래스를 호출하는 생성자 메서드를 표시하려면

6. 클래스 계층 구조

1. Java 언어에서는 다중 상속이 지원되지 않습니다. 즉, 클래스는 하나의 클래스만 직접 상속할 수 있습니다. 2. 클래스에는 여러 개의 간접 상위 클래스가 있을 수 있습니다. 3. 모든 Java 클래스는 java.lang.Object 클래스를 직접 또는 간접적으로 상속합니다.

4. Object 클래스는 모든 Java 클래스의 조상이며 Object 클래스는 모든 Java 객체와 동일한 동작을 정의합니다.

7. 기본 상속

1. 클래스를 정의할 때 확장 키워드를 사용하지 않으면 클래스는 객체 클래스에서 직접 상속됩니다. 8장:

Java

다형성

1. 다형성의 개념

공식 정의: 다형성은 클래스의 멤버 메서드를 호출하면 다른 구현 방법이 형성된다는 의미입니다. 개인적 이해: 상위 클래스 참조는 하위 클래스 객체를 가리킵니다. 상속 환경에는 많은 상태가 존재해야 합니다. 이는 상속이 다형성의 전제 조건이며 객체 지향 프로그래밍의 핵심임을 의미합니다.                                                                  >                  아웃

2. 메소드 재작성

          하위 클래스에 메소드가 정의되어 있고 해당 이름, 반환 값 유형 및 매개변수 목록이 상위 클래스의 메소드와 정확히 일치하는 경우 하위 클래스 메소드가 상위 클래스 메소드를 재정의한다고 말할 수 있습니다.

특별한 주의 사항: 방법 1. 메소드 재작성은 전제 조건으로 상속 관계를 가져야 합니다. 2. 메소드 이름, 반환 값 유형 및 하위 클래스의 매개 변수 목록은 상위 클래스와 동일해야 합니다. 메소드는 액세스 권한을 줄일 수 없습니다.

4. 동일한 클래스에서 메소드는 오버로드만 가능하고 다시 작성할 수는 없습니다.

3. 다형성 애플리케이션

상위 클래스에 대한 참조가 하위 클래스 객체를 가리키는 경우, 이 참조를 통해 메서드는 항상 하위 클래스에 의해 다시 작성된 메서드를 호출합니다. 이 동작을 "업캐스팅"이라고 하며 참조가 참조로 다시 변환될 수 있습니다. 이 동작을 "다운캐스팅"이라고 하며 강제 변환이 필요합니다. 특별 참고 사항: 상위 클래스의 참조가 하위 클래스 객체를 가리키는 경우 메서드에 대한 호출은 실제 유형에 따라 동적으로 해결됩니다. 객체는 동적으로 선택되며 이를 동적 바인딩이라고 합니다. Object

Class

객체 클래스는 다형성에 따라 모든 Java 클래스의 상위 클래스 또는 간접 상위 클래스입니다. , 우리는 객체 클래스의 참조를 사용하여 모든 객체를 가리킬 수 있습니다

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​:​​​​아웃​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 및

Method equals 메소드의 목적은 두 객체가 동일한지 감지하는 것입니다. Object 클래스에서 제공하는 equals 메소드의 구현은 감지하는 것입니다. 두 개체의 메모리 주소가 동일한 영역에 있는지 여부(메모리 주소가 동일한지 여부)                           일반적으로 두 개체가 동일한지 확인하는 규칙을 재정의하려면 같음 메서드를 다시 작성해야 합니다. ㅋㅋㅋ                                                                                      자신은 자신을 사랑하길 바라요 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 그녀 do yourself with. 개체 문자열에 대한 설명을 반환합니다(이것은 객체를 직접 출력용으로 사용할 경우 메소드를 다시 작성해야 함)                         개인적인 이해: 객체 정보를 출력하는 과정을 단순화한 후 객체를 직접 출력할 수 있습니다

Seven,

final 키워드 final 키워드는 클래스, 메소드 및 변수를 수정하는 데 사용할 수 있습니다. Final은 불변을 의미합니다. 1. final이 클래스를 수정하는 경우: 해당 클래스를 다른 클래스에서 상속할 수 없음을 의미합니다. 2. final인 경우 메소드를 수정하는 경우: 메소드가 하위 클래스에 의해 재정의될 수 없음을 의미합니다​​​ 3. final이 변수를 수정하는 경우: 변수가 상수라는 의미

L 참고: 초기화를 위해서는 FINAL에 의해 수정된 상수가 표시되어야 합니다.

9장: 추상 및 인터페이스

1. 추상 범주의 개념

상속 관계 다이어그램을 아래에서 위로 점차 살펴보세요. 그것은 더 일반적이고 더 추상적이 됩니다. , 범용 클래스로 인해 클래스의 메소드에 대한 의미있는 구현 프로세스를 만들 수 없습니다.

때로는 모든 하위 클래스에서 공유할 수 있는 일반 형식만 정의하고 각 하위 클래스가 구현 세부 사항을 보완할 수 있도록 하는 상위 클래스가 필요합니다. 이러한 클래스를 추상 클래스라고 합니다. 방법 참고: 추상 메서드를 포함하는 클래스는 추상 클래스여야 하며 추상 클래스는 특성 및 비추상 메서드를 포함할 수 있습니다.

2. 추상 메서드

Java 메서드를 정의할 때 메서드 본문(즉, 메서드의 구현 세부 사항)을 작성하지 않고 메서드의 선언 부분만 정의할 수 있습니다. 추상적인 방법. ㅋㅋㅋ                    out out out out out out out through 'em to be available'             through   through   through   추상 키워드 사용 through out ''s 'out's 'out's 'out's ''   out out off out out Out Out Out Out's' out's 'out's' out out off out out out out out out out right out right out right outallowallowallowallow through's's's's' ‐‐‐‐‐‐‐‐lighten to be abstract 메소드를 사용하여 추상화합니다.

3. 특별한 주의

        è 추상 클래스와 추상 메소드 모두 추상 키워드로 수정해야 합니다

    è 추상 메소드는 메소드 본문이나 중괄호 쌍이 없으며 뒤에 세미콜론이 있어야 합니다. 매개변수 목록     è 클래스에 추상 메소드가 포함된 경우 이 클래스는 추상 클래스여야 하지만 반대로 추상 클래스에 추상 메소드가 포함될 필요는 없습니다.

      è추상 클래스는 인스턴스화할 수 없습니다(즉, 추상 클래스의 객체를 생성할 수 없습니다)

      è 추상 클래스에서 정적 메서드를 선언할 수 있습니다

4. 추상 클래스 사용

추상 클래스는 객체를 생성할 수 없으므로 이므로 상속을 통해서만 추상 클래스를 사용할 수 있습니다. (다형성 지원)

참고:) 1. 하위 클래스가 추상 클래스를 상속하는 경우 하위 클래스는 상위 클래스의 모든 추상 메서드를 다시 작성해야 합니다. 2. 하나의 추상 클래스가 다른 추상 클래스를 상속하는 경우 하위 클래스는 필요하지 않습니다. 5. 추상 클래스 요약 역할은 주로 다음 두 가지 측면에 반영됩니다.       1. 코드 재사용(표면 현상)

    2. 하위 클래스의 동작 계획(핵심 이해) )

                                                                                                                .概 6. 인터페이스 개념

은 Java에서 더 많은 상속을 지원하지 않지만, 인터페이스를 지원하기 위해 강력한 인터페이스를 제공합니다. 불일치 메서드이지만 동일한 동작 범주의 메서드가 지정됩니다. 클래스 간 상속 관계

​​​​​​클래스는 하나의 상위 클래스만 직접 상속할 수 있지만 여러 인터페이스를 구현할 수 있습니다

인터페이스는 추상 메서드와 정적 상수의 모음입니다. 본질적으로 인터페이스는 특별한 추상 클래스입니다. 이 추상 클래스는 변수와 메서드 구현 없이 추상 메서드와 정적 상수의 정의만 포함할 수 있습니다. 7. 각별히 주의하세요

인터페이스에서 정의하는 메소드는 추상 메소드여야 하므로 인터페이스에서 추상 메소드를 정의할 때 public 및 abstract 키워드를 생략해도 됩니다 인터페이스에서 정의하는 변수는 정적 상수여야 하므로, 따라서 인터페이스에서 정적 상수를 정의할 때 public, static, final 키워드를 생략할 수 있습니다.

8. 인터페이스의 사용

상속 관계와 마찬가지로 Java 클래스도 인터페이스를 구현할 수 있으며 구현 클래스는 반드시 All 재작성 인터페이스의 추상 메서드 하나의 구현 클래스는 여러 인터페이스를 달성할 수 있습니다. 각 인터페이스는 여러 클래스로 프로그래밍될 수도 있습니다.

                인터페이스는 상속 관계를 가질 수 있으며 여러 인터페이스를 지원할 수 있습니다. 상속

9. 인터페이스 요약

                                                                           -                                                       ‐ 's 포함

象 10. 인터페이스와 추상 카테고리 비교

동일: A. 인터페이스는 특별합니다. 추상 클래스

B. 아무것도 객체를 생성할 수 없습니다

C. 추상 메소드를 포함할 수 있습니다

2. 다른 것: 抽 A. 추상 클래스는 비추상 메소드를 포함할 수 있으며 인터페이스는

일 수 없습니다. B. -가 아닌 경우 추상 클래스에 추상 메서드가 추가되면 하위 클래스에 영향을 주지 않습니다. 일단 생성되면 변경하면 안 됩니다. util 패키지에 Arrays 클래스가 있습니다. 이 클래스의 정렬 메서드는 객체 배열을 정렬할 수 있습니다. 배열의 객체가 Comparable 인터페이스를 구현해야 한다는 전제 조건

1장: 예외 처리

1. 예외 개념

                                                  . (ERROR): JVM 시스템의 내부 오류, 고갈을 의미합니다. 존재하지 않는 파일 읽기 및 네트워크 연결 중단 문제ㅋㅋㅋ |

2. 처리 메커니즘. 이 메커니즘을 올바르게 사용하면 프로그램의 견고성을 향상하는 데 도움이 될 수 있습니다.执 Java 프로그램이 실행되면 실행 프로세스에 이상이 발생합니다. 시스템은 해당 비정상적인 클래스 개체를 자동으로 감지하고 생성한 다음 런타임 시 이를 시스템에 제공합니다. 런타임 시스템이 예외를 처리할 수 있는 코드를 찾을 수 없으면 런타임 시스템이 종료되고 해당 Java 프로그램이 실행됩니다. also exit

              프로그래머는 오류를 처리할 수 없으며 일반적으로 예외만 처리할 수 있습니다          

3. 예외 처리 기능

예외를 분류하고 Java 클래스를 사용하여 확장 가능하고 재사용 가능한 예외를 나타냅니다. 할 수 있는

예외 프로세스의 코드를 일반 프로세스의 코드와 분리하여 프로그램의 효율성을 높였습니다

                                                                                                                                                               어   예외와 함께 수업

수업

예외는 두 가지 분기로 나뉩니다.   1. 런타임 예외: 유형 변환 예외, 배열 인덱스 범위를 벗어난 예외, 널 포인터 예외 등     1. 컴파일 타임 예외: SQL 문 실행 예외, 존재하지 않는 파일 읽기 예외 등 5. 공통 예외 유형

Exception 클래스

Description

public

is

is

protected

아니요

default

은(는)

안돼
안돼

배열 인덱스가 범위를 벗어남Null 포인터 예외클래스를 찾을 수 없음 예외입력 및 출력 예외파일을 찾을 수 없음 예외SQL 문 실행 예외

6. 예외 처리의 목적

è 안전하고 알려진 상태로 복귀

è 사용자가 다른 명령을 실행할 수 있도록 허용

è 가능하면 모든 작업을 저장

è 필요한 경우 다음을 수행할 수 있습니다. 추가 피해를 피하기 위해 종료하세요

    è 예외는 비정상적인 상황에서만 사용할 수 있으며 프로그램의 정상적인 흐름을 제어하는 ​​데 사용할 수 없습니다.

    è 지나치게 큰 try 블록 코드는 피하세요. 7. 예외 처리 catch 블록 사용: 예외 발생 시 처리 코드

            finally 블록: 무조건 실행 코드(보통 리소스를 해제하는 데 사용됨)                                                           ' printStackTrace의 ' 사용 ' s ‐ ‐‐‐‐‐‐off 를 1로 설정합니다. 이 메서드는 예외 정보를 콘솔에 출력합니다 8. ing to throw an 예외

예외 발생 선언 예외는 Java 예외 처리의 두 번째 방법입니다. 메소드의 코드가 런타임 중에 일종의 예외(예외)를 생성할 수 있지만 이 메소드에서는 필요하지 않거나 이러한 예외를 처리하는 방법을 잘 모르는 경우 throws 키워드를 사용하여 예외를 선언할 수 있습니다. 이때 이러한 예외는 메서드에서 처리되지 않고 메서드 호출에 의해 처리됩니다.

3장: 컬렉션 프레임워크

1. 컬렉션 개요

              Java 배열을 생성할 때 배열의 길이를 지정해야 합니다. 배열이 생성되면 길이를 변경할 수 없습니다.    많은 실제 상황에서 배열의 길이는 고정되지 않습니다. 따라서 Java 언어는 관련 문제를 해결하기 위해 보다 진보된 컨테이너인 컬렉션 프레임워크를 제공합니다. 모든 Java 컬렉션은 java.util 패키지에 있습니다. 2. 컬렉션 개념 就 컬렉션은 여러 "데이터"의 전체 "데이터" 조합입니다. 시스템 관점에서 볼 때 자바의 기본 집합은 다음 세 가지로 나눌 수 있다.

리스트(List(List): 集 요소의 순서를 구분하고, 반복적인 요소를 허용하는 리스트 모음(SET) ):

SET 컬렉션은 요소의 순서를 구분하지 않으며 반복적인 요소 매핑(MAP)이 없습니다. MAP 컬렉션은 쌍 쌍 쌍 "키-값" 정보에 저장되며 키는 반복될 수 없으며 각 키는 최대 하나의 값만 매핑할 수 있습니다.

3. 집합의 요소

中 Java 컬렉션은 참조 데이터 유형 데이터(즉, 개체)만 저장할 수 있습니다. 실제로 개체 자체가 아닌 개체의 키더가 저장됩니다. o Boolean Remove( 객체 O)

int 크기 ()

boolean isempty ()

Boolean 포함 (객체 O) void Clear () Object [] Toarray )

목록

Interface

                                              's

- 정확한 제어 제공 및 인덱스를 기반으로 요소에 액세스하는 등의 기능이 추가되었으며 해당 메소드가 인터페이스에 추가되었습니다. ㅋㅋㅋ         . int indexOf(객체 o)

개체 제거(int 인덱스)

VI

                                                                                       ’ s s ‐ ‐ ‐ ‐ ‐ ‐ public ArrayList()

                                                                 

7. Iterator java.util.Iterator 인터페이스는 도구를 설명합니다. 반복자라고 불리는 통합된 방식으로 다양한 컬렉션 요소를 탐색하기 위한 것입니다. boolean hasNext() Object next()

8번째, 일반 型 型(Gernerics) 메커니즘이 Javase 5.0에서 도입되었습니다. 실제로 다음과 같은 이점이 있습니다. 원본의 원본 유형 매개변수화는 변경되지 않은 채 결정됩니다.

                    1. 원래 Java 유형 시스템의 확장으로 제네릭을 사용하면 Java 애플리케이션의 유형 안전성, 유지 관리성 및 신뢰성이 향상될 수 있습니다

~                      제네릭을 사용하면 컬렉션을 생성할 때 Java 애플리케이션의 유형 안전성, 유지 관리성 및 안정성을 향상시킬 수 있습니다. 컨테이너에서는 저장할 수 있는 요소 유형을 규정한 다음 컴파일러가 요소의 유형 유효성 검사를 추가합니다. 요약: 데이터 유형 매개변수화에 액세스할 때 스타일 처리를 수행할 필요가 없습니다.

9.

HashSet

class java.util.HashSet 클래스는 일반적인 Set 컬렉션 구조를 설명하는 java.util.Set 인터페이스를 구현합니다. HashSet에서는 중복 요소가 허용되지 않습니다. 의 순서는 null 값 요소를 포함할 수 있지만 null 요소는 하나만 있을 수 있습니다. java.util.T reeSet 클래스는 정렬 기능을 구현할 수 있는 컬렉션인 Set의 변형을 설명하는 java.util.Set 인터페이스도 구현합니다. TreeSet 컬렉션에 객체 요소를 추가하면 자동으로 정렬된 객체에 삽입됩니다. 특정 비교 규칙에 따라 TreeSet 컬렉션 요소로 구성된 개체 시퀀스는 항상 "오름차순"으로 정렬됩니다. TreeSet 클래스는 자연 정렬(기본값)과 사용자 정의 정렬을 사용할 때 두 가지 정렬 방법을 지원합니다. 컬렉션의 요소는 Comparable 인터페이스를 구현해야 하며, TreeSet은 요소를 정렬하기 위해 개체의 CompareTo 메서드를 호출합니다. JDK 클래스 라이브러리의 일부 클래스는 Integer, Double, String 등과 같은 Comparable 인터페이스를 구현합니다. Sets 및

Set

세트 순회 목록 유형 컬렉션: 일반 for 루프, super for 루프 및 반복자를 사용하여 순회할 수 있습니다. 세트 유형 컬렉션: super for 루프 및 반복을 사용할 수 있습니다. : : : 참고: SET 유형 세트에는 인덱스가 없으므로 재활용 순회를 위해 일반을 사용할 수 없습니다. 12,

Map

주요 개체를 매핑하는 컬렉션입니다. 여기에는 두 개의 객체(키 객체와 값 객체)가 포함됩니다. 일반적인 Map 유형 컬렉션에는 HashMap 및 TreeMap이 포함됩니다. 요소 추가 방법: put(Object key, Object value)取 키 객체를 통해 값 객체 가져오기: Get(Object Key)

참고: 맵의 키 개체는 반복될 수 없으며 값 개체는 반복될 수 있습니다.

13. TreeMap 수업

                                                                                             ' s 에서 ' s ' s t - t                                      -- 키 개체에 따라 정렬되어야 합니다. 그러나 전제 조건은 저장된 키 개체입니다. 반드시 Comparable 인터페이스를 구현합니다.

Fourteen, MapSet traversal

Key 객체는 반복될 수 없으므로 모든 Key 객체는 Set 유형 컬렉션으로 간주될 수 있습니다

Map keyset () 메소드는 모든 키 객체의 SET 컬렉션에 의해 탐색되는 이 세트 유형 컬렉션을 얻습니다. 각 키 객체는 탐색 과정에서 키 객체에 의해 획득될 수 있습니다. 4장:

IO

1. 개요

프로그래밍 작업의 대부분은 데이터 전송 제어(입/출력)와 관련됩니다.

Java에서 IO는 스트림, 즉 데이터의 전송 형태로 구현됩니다. IO 클래스 라이브러리는 java.io 패키지에 있으며 다양한 공통 입력 및 출력 스트림을 추상화합니다.

2. 스트림 분류

IO에 따른 데이터 처리는 다음과 같습니다. 바이트 스트림과 문자 스트림으로 구분됨

                                                                                             >                                out out out of which out of our way. 최소한의 전송 단위로 바이트를 스트리밍합니다.

해당 데이터 흐름 및 작업 스트림으로 분류

바이트 입력 흐름 추상 상위 클래스: InputStream 바이트 출력 스트림 추상 상위 클래스: Outputstream

데이터 스트림(기본 스트림): 바이트 데이터 전송을 위한 채널 구축을 담당하고, 바이트 데이터 전송을 담당하며, 기본적인 바이트 데이터 액세스 방법만 제공합니다. InputStream 및 OutputStream은 모든 바이트 스트림 클래스의 상위 클래스이며 인스턴스화할 수 없습니다. 다음과 같은 하위 클래스의 동작을 표준화하기 위해 여러 메서드가 정의됩니다. FileInputStream/FileOutputStream

작업 스트림(상위 수준 스트림): IO 장치에서 데이터를 읽거나 쓰지 않고 다른 스트림에서만 데이터를 읽거나 쓰며 프로그래밍을 단순화하거나 IO 효율성을 향상시키기 위해 일반 스트림에서 제공하지 않는 방법을 제공합니다. 작업 스트림은 "데코레이터" 디자인 패턴을 활용하고, InputStream 클래스 자체를 상속하며, 다른 데이터 흐름 클래스를 "장식"하기 위해 많은 메서드를 추가하여 많은 수의 새로운 기능 클래스가 생성되는 것을 방지합니다.

          BufferedInputStream/BufferedOutputStream

4. 문자 스트림

                                                                             BufferedInputStream/버퍼 스트림 스트리밍):

         독자/작가

                                                                         리더/작성자                                             FileReader

                                           ~                                                     어댑터 디자인 패턴을 사용하여 입력 스트림 유형을 리더 유형으로 변환

                                                                                                                 OutputStream 유형을 유형으로 변환할 수 있음    OutputStream 유형

6 .

의 기본 개념

파일 클래스

       : 파일 및 디렉터리 경로 이름 추상 표현을 나타냅니다.                File 클래스는 파일 생성, 삭제, 이름 바꾸기, 경로, 생성 시간 등을 가져올 수 있으며 파일 자체와 관련된 유일한 작업 클래스입니다. 6장: 스레드

스레드는 프로그램 내의 순차적 제어 흐름입니다.

1. 스레드 및 프로세스

1. 각 프로세스에는 독립적인 코드와 데이터 공간이 있습니다. 2. 스레드는 경량 프로세스이며 동일한 유형의 스레드는 코드와 데이터 공간을 공유합니다. 각 스레드는 독립적인 실행 스택과 프로그램 카운터를 가지며 스레드 전환 비용이 적습니다

3. 다중 -프로세스: 운영 체제에서 여러 작업(프로그램)을 동시에 실행할 수 있습니다.

4. 멀티 스레딩: 동일한 애플리케이션에서 여러 시퀀스 흐름이 동시에 실행됩니다.

2. 스레드 생성

Java 스레드가 전달됩니다. through java .lang.Thread 클래스에 의해 구현됩니다. 각 스레드는 특정 Thread 객체에 해당하는 run 메서드를 통해 작업을 완료합니다. run 메서드를 스레드 본문이라고 합니다.言 Java 언어로 스레드를 생성하는 방법에는 두 가지가 있습니다.

A. Runnable 인터페이스 구현

1. 클래스 생성 및 Runnable 인터페이스 구현

2. Runnable 인터페이스에서 Runn 메서드 재구성

3 . 구현 클래스 만들기 개체

                                                                                      구현 클래스 개체를                                                                                                       > >                                                                                                      

3. 두 가지 유형의 스레드 생성 비교

èRunnable 인터페이스를 사용하여 스레드 생성

                                                                                             ' [ ' s ' s ' t ,               out out out out out out out out out out of  to  to 's-to-under-wrench--를 통해 스트림을 통해 스트레칭하려면                                                            또한 다른 클래스 및 메서드에서 몇 가지 유용한 속성을 상속할 수도 있습니다

              ~                                                                         실행의 현재 객체인 Simple Thread 클래스를 직접 상속하여 스레드를 생성하는 데 사용할 수 있습니다. 메소드는 스레드 객체이며 직접 조작할 수 있습니다

                                                                                        문서 인쇄 작업 등 특정 시간에만 실행할 수 있는 작업 : 백그라운드에서 실행됩니다. 일반적으로 일부 보조 스레드는 다음과 같은 다른 스레드에 서비스를 제공합니다. JVM의 가비지 수집 스레드

3. 사용자 스레드(User Thread): 사용자가 생성하거나 시스템이 사용자를 위해 생성한 스레드 4. 메인 스레드(Main Thread): 메인 스레드 5. 하위 스레드: 실행 중인 스레드에서 생성된 새 스레드

5. 백그라운드 스레드

Thread 클래스에서 제공하는 관련 메서드:

            public final boolean isDaemon() //스레드가 백그라운드 스레드인지 확인

                                                                                                         using using boolean's boolean's ‐ boolean ‐ setDaemon() //             정상적으로 종료되거나 실행 오류로 인해 조기 종료되면 JVM이 종료된다는 것을 알 수 있습니다. 백그라운드 스레드는 심각하게 간주되지 않으며 사용자 스레드를 제공합니다. 6. 스레드 수명 주기 새로운 상태: 새로 생성된 스레드 개체

                                                               밖으로   사용하여                      out out‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐( ​​스레드 스케줄러는 IO 수행과 같은 차단 상태로 조정됩니다. 종료 상태: run 메소드의 모든 프로그램이 실행되면 종료 상태로 들어갑니다. 특별 참고 사항: 종료된 스레드를 다시 시작하는 것은 금지되어 있습니다. 여러 번 시작할 수 없습니다

7. 스레드 우선 순위

ㅋㅋㅋ >              우선순위를 얻으려면 use using using ‐ ’ s를 사용하여 우선순위를 얻으세요

         

                                스레드 .MAX_PRIORITY=10

                                               ' ' s ' s ' s ‐   ‐ ‐ ‐ thread.NORM_PRIORITY=5

​                                     out out ‐ off off 's   ‐ ‐ . . 현재 실행 중인 스레드가 차단 상태에 진입하고 지정된 "지연 시간" 후에 깨어나 준비 상태로 전환됩니다. "

          Thread 클래스에서 제공하는 관련 메서드:

              public static void sleep(long millis)

                               Void Sleep(Long Millis, int Nanos)

참고: 1초 = 1000밀리초, 1밀리초 = 100만 나노초

nine, 스레드 양보

현재 획득한 현재 CPU 처리 기회를 적극적으로 포기하지만 스레드를 차단하는 대신 준비 상태로 전환합니다.

        Thread 클래스에서 제공하는 관련 메서드:                                                                  아웃 way             ‐ out off ‐ ‐ ‐ ‐          시작: 현재 실행 중인 스레드를 일시 중지하고 차단 상태로 전환하며 자동으로 실행을 재개하지 않습니다. 재개: 스레드 클래스에서 제공하는 관련 메서드:

공개. 최종 무효 일시정지()//스레드 중단

                                                                                사용 ‐                                ’ s s ’ s ’ s ’ s 1. 데이터 공유를 위한 멀티스레딩: 멀티스레딩 작업에서는 여러 스레드가 동일한 리소스를 처리하는 것이 가능합니다. 동시에 멀티 스레드에서 데이터를 공유합니다.

2. 스레드 동기화: 데이터 공유 문제를 해결하려면 동기화를 사용해야 합니다. 소위 동기화는 여러 스레드 중 하나의 스레드만 동일한 기간에 지정된 코드를 실행할 수 있고 다른 스레드는 대기해야 함을 의미합니다. 이 스레드가 계속 실행되기 전에 완료됩니다. + >                          (2) 동기화 방법

ㅋㅋㅋ​ ​ ​ ​ ​ ​ ​ ​ ​교착 상태 및 성능 위험 방지 위험은 매우 큽니다.

                    (1) 코드 블록을 짧게 유지하세요. 스레드와 함께 변경되지 않는 전처리 및 후처리를 동기화된 블록 밖으로 이동합니다. (2) 차단하지 마세요. 사용자 입력 및 기타 작업 등.有 (3) 잠금을 보유한 상태에서는 다른 개체에 대한 동기화 메서드를 호출하지 마세요.

4. 스레드 교착 상태: 동기화가 너무 많으면 교착 상태 작업이 일반적으로 프로그램이 실행 중일 때만 발생할 수 있습니다.要 참고: 멀티스레드에서 리소스를 공유하려면 동기화가 필요하지만 동기화가 너무 많으면 교착 상태가 발생할 수 있습니다.

Chapter 7:

Socket

Network 프로그래밍

1. 컴퓨터 네트워크란 무엇입니까

통신 회선을 사용하여 서로 다른 지역에 분산된 컴퓨터 및 특수한 외부 장치와 통신합니다. 더 많은 컴퓨터가 쉽게 서로 정보를 전송하고 하드웨어, 소프트웨어, 데이터 등의 자원을 공유할 수 있도록 대규모의 강력한 네트워크 시스템을 구성합니다. 2개의 프로세스는 양방향 네트워크 통신 연결을 통해 데이터 교환을 달성할 수 있습니다. 이 통신 링크의 끝점은 "소켓"이라고 합니다. 소켓은 일반적으로 클라이언트-서버 연결을 달성하는 데 사용됩니다. Socket과 ServerSocket이라는 두 클래스는 양방향 연결 클라이언트를 구현하는 데 사용되는 java.net 패키지에 정의되어 있습니다. 및 서버 각각 네트워크 연결 설정 2. 소켓에 연결된 입력/출력 스트림 열기 3. 열린 IO 스트림을 통해 데이터 읽기/쓰기 4. 열린 IO 스트림 및 소켓 개체 닫기

보충 내용 1: 그래픽 사용자 인터페이스 그래픽 사용자 인터페이스(GUI-그래픽 사용자 인터페이스)는 사용자와 프로그램 간의 시각적 상호 작용을 위한 보다 인간적이고 편리한 작동 방법을 제공합니다. 따라서 그래픽 사용자 인터페이스 응용 프로그램을 디자인하려면 메뉴, 도구 모음, 컨트롤 등

      Java는 그래픽 사용자 인터페이스 애플리케이션 설계를 위한 GUI 구성 요소 기반의 신속한 애플리케이션 개발 방법을 제공하고 이벤트 중심 개발을 지원하기 위해 사용 가능한 많은 구성 요소를 제공합니다.

원, 스윙 그리고

AWT

AWT: 초기 Java에는 Button, Checkbox, List 등과 같은 기본 GUI 프로그래밍을 위한 AWT(Abstract Window Toolkit) 클래스 라이브러리가 포함되어 있습니다. 이러한 클래스는 모두 Component 클래스의 하위 클래스입니다.

AWT 구성 요소는 무거운 구성 요소로 간주됩니다. 각 AWT 구성 요소는 로컬 윈도우 시스템에 관련 구성 요소를 가지고 있습니다.

​​​​Swing 구성 요소는 순수 Java 코드로 작성되었으며 호출되는 경량 구성 요소입니다. 대신에 Java 코드로 완전히 그려지고 표시되므로 일반적인 AWT 구성 요소보다 훨씬 효율적입니다. Swing: 이름 중복을 피하기 위해 모든 Swing 구성 요소 클래스가 시작됩니다. 대문자 J로 대부분의 Swing 구성요소는 JComponent 클래스의 하위 클래스입니다.

2. 양식 컨테이너                                                             ’ s ’ s ’ s ‐ ‐ . 모덜리스 대화 상자

                                                        사용 사용 사용 사용 ‐                          > > 둘째,

JDBC

                                                                                                   ‐                                                                 자바 프로그램에서 데이터베이스 작업을 구현한 적이 없음 작업을 단순화한 적이 없음 프로세스                                                                                                                                                                                                              > 2. 데이터베이스 연결 방법

                  ~ 1. 잘 하세요 데이터베이스 준비                                                  ~                                ​What의 연결 채널 SQL 문 작성

문 개체 할당

문 개체를 사용하여 SQL 문 실행

ㅋㅋㅋ                                       원하는 결과를 얻고 결과를 처리할 수 있습니다.                                       리소스를 통해

IV. 관련 클래스 및 인터페이스

java.sql.DriverManager 클래스

드라이버 관리는 다양한 데이터베이스 드라이버에 대한 관리 기능을 제공합니다. java.sql.Driver 인터페이스 데이터베이스 드라이버, 소프트웨어 드라이버

Java.sql.Connection 인터페이스

특정 데이터베이스에 연결된 연결된 개체

java.sql.Statement 인터페이스

데이터베이스의 데이터베이스 작업 개체

java.sql.ResultSet 인터페이스

다중 라인 모음

5개, 드라이버 动 드라이버: 컴퓨터 운영체제가 일종의 하드웨어나 소프트웨어에서 제공하는 일종의 인터페이스 프로그램을 동작시킬 수 있도록 하기 위해

데이터베이스 드라이버: 코드 수집을 동작시키는 애플리케이션 애플리케이션과 데이터베이스가 서로를 알고 있는 소프트웨어 모듈을 도입하면 컴파일러가 컴파일 타임에 소스 프로그램에 의해 할당된 잘못된 값을 제어할 수 있다고 이해할 수 있습니다. 일반적인 변수를 사용하여 개발 단계.

         JDK1.5 이후에는 enum 키워드를 사용하여 열거 유형이라는 새로운 유형을 정의합니다.键 enum 키워드로 정의된 열거형 클래스는 실제로 클래스를 정의하는 것과 동일합니다. 이 유형은 Enum 클래스를 상속합니다.

산술 예외

산술 예외

ArrayIndexOutOfBoundsException

N ullPointerException

ClassNotFoundException

IOException

FileNotFoundException

SQLException

위 내용은 Java 상속에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.