> Java > java지도 시간 > 본문

Java 기능 요약

巴扎黑
풀어 주다: 2017-07-21 14:17:24
원래의
1311명이 탐색했습니다.

1. 상속(키워드: 확장): (자식 상위 클래스)
1. 코드 재사용성을 향상시킵니다.
2. 클래스 간 관계를 만듭니다. 이 관계만이 다형성의 특징을 가질 수 있다.

1.1 변수
자식 상위 클래스에 같은 이름의 프라이빗(프라이빗)이 아닌 멤버 변수가 나타나면 자식 클래스가 이 클래스의 변수에 접근해야 하고, 이를 사용하고 자식 클래스가 해당 변수에 접근해야 합니다. 상위 클래스에 동일한 이름이 있으면 super를 사용하십시오.
 super의 사용법은 이것의 사용법과 거의 같습니다.
 이것은 이 클래스의 객체에 대한 참조를 나타냅니다.
 super로 표현되는 상위 클래스 객체의 참조입니다.

1.2 자식 클래스와 부모 클래스의 함수
 부모 클래스와 완전히 동일한 함수가 하위 클래스에 나타나면
 하위 클래스 객체가 함수를 호출하면 하위 클래스 함수의 내용이 실행됩니다. 부모 클래스의 기능이 재정의되는 것과 같습니다.

 이러한 상황은 함수의 또 다른 특징입니다. 다시 쓰기(덮어쓰기)

 하위 클래스가 상위 클래스를 상속하면 상위 클래스의 기능을 상속받아 하위 클래스로 전달합니다. 그러나 하위 클래스에 기능이 있지만 내용은 그대로 유지됩니다. 그러나 상위 클래스와 일치하지 않는 경우에는 새 함수를 정의할 필요가 없으며 대신 재정의 기능을 사용하여 상위 클래스의 함수 정의를 유지하고 함수 내용을 다시 작성합니다.

덮어쓰기에 대한 참고 사항:
 1. 하위 클래스가 상위 클래스를 덮어쓰는 경우 덮어쓰기 전에 하위 클래스의 권한이 상위 클래스의 권한보다 크거나 같은지 확인해야 합니다. 그렇지 않으면 컴파일이 실패합니다. . (권한 수식어를 쓰지 않으면 기본 권한은 private과 public 사이입니다.)
 2. Static은 static만 무시할 수 있습니다.

오버로딩 및 다시 쓰기:
오버로딩: 동일한 이름을 가진 함수의 매개변수 목록만 살펴보세요.
 다시 작성: 하위 클래스와 상위 클래스의 메서드 이름과 반환 유형이 정확히 동일해야 합니다. (즉, 반환 유형과 메서드 이름()이 동일해야 합니다.)

1.3 하위 클래스의 생성자.
하위 클래스 객체를 초기화할 때 상위 클래스의 생성자도 실행됩니다. 이는 하위 클래스의 생성자에 기본적으로 첫 번째 줄에 암시적 구문 super()가 있기 때문입니다.

하위 클래스가 상위 생성자에 액세스해야 하는 이유 수업.
 부모 클래스의 데이터 서브클래스를 직접 얻을 수 있기 때문에 모든 서브클래스 객체가 생성되면 먼저 부모 클래스가 데이터를 어떻게 초기화하는지 확인해야 합니다. 따라서 객체를 초기화할 때 하위 클래스는 먼저 상위 클래스의 생성자에 액세스해야 합니다. 상위 클래스에 지정된 생성자에 액세스하려면 super 문을 수동으로 정의하여 지정할 수 있습니다.

참고: super 문은 하위 클래스 생성자의 첫 번째 줄에 정의되어야 합니다.


결론:
하위 클래스의 모든 생성자는 기본적으로 상위 클래스의 빈 매개변수를 사용하여 생성자에 액세스합니다.
 하위 클래스의 각 생성자의 첫 번째 줄에는 암시적 super()가 있기 때문입니다.
 상위 클래스에 빈 매개변수가 있는 생성자가 없으면 하위 클래스는 수동으로 상위 클래스에 대한 액세스를 super 형식으로 지정해야 합니다. 문. 의 생성자입니다.
 물론: 하위 클래스 생성자의 첫 번째 줄에서 이 클래스의 생성자에 액세스하기 위해 이 명령문을 수동으로 지정할 수도 있습니다. 하위 클래스에는 상위 클래스의 생성자에 액세스하는 생성자가 하나 이상 있습니다. (this()와 super()는 모두 생성자의 첫 번째 줄에만 배치할 수 있으므로 둘 중 하나만 생성자에 존재할 수 있습니다.)


참고: 다른 함수를 얻기 위해 코드를 단순화하지 마십시오. 클래스와 상속. 클래스를 상속받기 전에 클래스 간에 관계가 있어야 합니다. 소속은 .
2.최종: 드디어. 수정자로.
2.1 클래스, 함수, 변수를 수정할 수 있습니다.
2.2 final로 수정된 클래스는 상속될 수 없습니다. 상속을 방지하려면 하위 클래스로 함수를 재정의하지 마세요.
2.3 final로 수정된 메서드는 재정의될 수 없습니다.
2.4 final로 수정된 변수는 값을 한 번만 할당할 수 있는 상수이며 멤버 변수나 지역 변수를 모두 수정할 수 있습니다. 사물을 기술할 때 어떤 데이터가 나타날 때 그 값은 고정되어 있어 가독성을 높이기 위해 이러한 값에 이름을 부여합니다. 읽기 쉽습니다. 이 값은 변경할 필요가 없으므로 최종 수정 사항이 추가됩니다. 상수로서: 상수에 대한 작성 규칙은 여러 단어로 구성된 경우 모두 대문자입니다. 단어는 _로 연결됩니다. (예: final double PI = 3.14; final int SET_ON = 1;)
2.5 내부 클래스가 클래스의 로컬 위치에 정의되면 final로 수정된 로컬 변수에만 액세스할 수 있습니다.

3. 추상화:
3.1 추상 메서드는 추상 클래스에 있어야 합니다.
3.2 추상 메서드와 추상 클래스 모두 abstract 키워드를 사용하여 수정해야 합니다. (추상 클래스 클래스 이름 { 추상 void 메서드 이름 (); })
3.3 추상 클래스는 객체를 생성하기 위해 new를 사용할 수 없습니다. 추상 메서드를 호출하는 데에는 아무런 의미가 없기 때문입니다.
3.4 추상 클래스에서 추상 메서드를 사용하려면 하위 클래스에서 모든 추상 메서드를 다시 작성해야 하위 클래스 객체를 호출할 수 있습니다. 하위 클래스가 일부 추상 메서드만 다루는 경우 하위 클래스는 여전히 추상 클래스입니다.
일반 클래스와 추상 클래스의 유사점과 차이점: 추상 클래스와 일반 클래스 사이에는 큰 차이가 없습니다. 설명하고 싶은 대로 설명할 수 있지만, 설명하기 어려운 부분이 있습니다. 사물의 기능이기도 한 이러한 불확정적인 부분은 명시적으로 나타나야 합니다. 그러나 주제를 정의할 수는 없습니다. 추상적인 방법으로 표현됩니다.
추상 클래스에는 일반 클래스보다 추상 함수가 하나 더 있습니다. 즉, 클래스에서 추상 메서드를 정의할 수 있습니다.
추상 클래스는 인스턴스 메서드를 가질 수 없습니다.
특수: 추상 메서드는 추상 클래스에서 정의할 필요가 없습니다. 이는 클래스가 객체를 생성하는 것을 방지하기만 합니다.
4. 템플릿 디자인 패턴:
함수를 정의할 때 함수의 일부는 확실하지만 일부는 불확실하며 특정 부분은 불확실한 부분을 사용하면 불확실한 부분이 노출됩니다. 이는 이 클래스의 하위 클래스에 의해 수행됩니다.
5. 인터페이스:
초기 이해는 특별한 추상 수업으로 간주될 수 있습니다. 추상 클래스의 메서드가 추상이면 클래스는 인터페이스 형식으로 표현될 수 있습니다.
 Class: 클래스를 정의하는 데 사용됩니다.
 Interface: 인터페이스를 정의하는 데 사용됩니다. 인터페이스도 유형입니다. 클래스 파일을 생성할 수 있습니다.

인터페이스를 정의할 때 형식 특성은 다음과 같습니다.
 1. 인터페이스의 일반적인 정의: 상수, 추상 메서드. 인터페이스의 출현은 '다중 상속'을 또 다른 형태, 즉 '다중 구현'으로 구현합니다.
 2. 인터페이스의 멤버에는 수정자가 고정되어 있습니다.
상수: public static final
메서드: public abstract
기억하세요: 인터페이스의 모든 멤버는 공개됩니다.
 인터페이스: 추상 메소드가 있기 때문에 객체 생성이 불가능합니다. 이는 서브클래스에 의해 구현되어야 합니다. 서브클래스가 인터페이스의 모든 추상 메소드를 다시 작성한 후에만 서브클래스를 인스턴스화할 수 있습니다. 그렇지 않으면 하위 클래스는 추상 클래스입니다.
  예: 인터페이스 Inter
  {
   //public static final 및 public abstract 수정자가 없어도 괜찮습니다. 인터페이스의 멤버에는 고정 수정자가 있기 때문입니다. 하지만 가독성을 높이려면 개발 중에 작성하는 것이 가장 좋습니다.
  public static final int SET_ON = 1;
  public abstract void show();
 }
  //인터페이스 구현 사용
   class 테스트 구현 Inter
 {
  public void show(){} //추상 메서드 show를 재정의해야 함 객체를 생성하기 위해
 }
 class InterfaceDemo
 {
  public static void main(String[] args)
  {
   Test t = new Test();
   System.out.println(t.SET_ON);

  }

 }

인터페이스의 특징:
인터페이스는 외부 세계에 노출되는 규칙입니다.
 인터페이스는 프로그램의 기능적 확장입니다.
 인터페이스는 여러 구현에 사용될 수 있습니다.
 클래스와 인터페이스 사이에는 구현 관계가 있으며, 클래스는 하나의 클래스를 상속하고 동시에 여러 인터페이스를 구현할 수 있습니다.
인터페이스 간에 상속 관계가 있을 수 있습니다.
6. 다형성:
정의: 특정 유형의 다양한 존재 형태.
예: 동물 중 고양이와 개
고양이 객체의 해당 유형은 고양이 유형입니다.
Cat x = new cat()
동시에 고양이도 동물의 일종이며 고양이도 될 수 있습니다. 동물이라고 합니다.
 Animal y = new cat();
 Animal은 고양이와 개의 특정한 것에서 추출된 부모 유형입니다.
 상위 유형 참조는 하위 유형 개체를 가리킵니다.
6.1. 다형성 반영:
상위 클래스의 참조는 자체 하위 클래스 객체를 가리킵니다.
상위 클래스의 참조는 자체 하위 클래스 객체를 받을 수도 있습니다.
 예: 상위 클래스 상위 클래스 참조 이름 = new subclass();//승격을 입력합니다. 상향 변환. 하위 클래스의 고유 기능을 사용하려면 하향 변환해야 합니다. 하위 클래스 새 하위 클래스 참조 이름 = (하위 클래스) 원래 상위 클래스 참조 이름
 키워드: 인스턴스of가 참조 유형을 결정합니다.
 예: if(Cat 인스턴스)//a를 결정합니다. 고양이형인가요?
6.2. 다형성의 전제 조건:
클래스 간에 관계가 있어야 합니다. 상속하거나 구현하십시오.
일반적으로 전제 조건이 있습니다: 하위 클래스는 재정의(다시 작성)해야 합니다.

6.3. 다형성의 이점:
다형성의 출현으로 프로그램의 확장성이 크게 향상되었습니다.
6.4. 다형성의 단점:
확장성이 향상되지만 상위 클래스의 멤버에 액세스하려면 상위 클래스의 참조만 사용할 수 있습니다.

6.5 다형성에서 비정적 멤버 함수의 특징:
컴파일 시: 참조 변수가 속한 클래스에 호출 메서드가 있는지 확인합니다. 있는 경우 컴파일이 통과되고, 그렇지 않은 경우 컴파일이 실패합니다.
 런타임 시: 객체가 속한 클래스에 호출할 메소드가 있는지 확인합니다.
 간단히 요약하자면, 멤버 함수가 다형적으로 호출될 때 컴파일할 때는 왼쪽을 보고 실행 때는 오른쪽을 보세요.
6.6 다형성에서 멤버 변수의 특징:
컴파일하거나 실행할 때 왼쪽(참조 변수가 속한 클래스)을 참조하세요.
다형성에서 정적 멤버 함수의 특징:
컴파일하거나 실행할 때 참조하세요. 왼쪽으로(정적 자체를 직접 호출할 수 있음)

7.object: 모든 객체의 직간접적인 상위 클래스, 전설의 신입니다.
 이 클래스에서 정의하는 것은 모든 객체가 가지고 있는 기능이어야 합니다.
  내부 클래스에 대한 액세스 규칙:
  1. 내부 클래스는 프라이빗 클래스를 포함하여 외부 클래스의 멤버에 직접 액세스할 수 있습니다.
  2. 내부 클래스에 접근하려면 외부 클래스가 내부 클래스 객체를 생성해야 합니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿