Java 학습8

2395 단어
이 절 은 자바 의 계승 을 살 펴 보 자.
계승 에 관 한 개념 은 C++ 에서 이미 배 웠 다.자바 에 서 는 extends 키워드 로 계승 관 계 를 설명 합 니 다.
class father{
}

class son extends father{
}

계승 개념의 등장 은 두 가지 유형 에서 대량의 중복 을 피 할 수 있 고 후속 유지 보수 작업 에서 대량의 코드 를 수정 해 야 하 는 상황 을 피 할 수 있다.여기 서 예 를 하나 볼 수 있다.
public class Animal{
  private String name;
  private int id;
  public Animal(String myName, int myId){
  name = myName;
  id = myId;
  }
  public void eat(){
  System.out.println(name+ "   ")};
  public void sleep(){
  System.out.println(name+"   "};
  public void introduction(){
  System.out.println("   ,  " + id + " ,     :"+name);}
}

이때 위 에 있 는 이 Animal 류 는 바로 부류 이다.다음은 이 부류 에 근거 하여 하위 클래스 를 정의 합 니 다.
public class Penguin extends Animal{
 public Penguin(String myName, int myId){
  super(myName, myId);  //       super            
  }
}

자바 는 다 중 계승 을 지원 하지 않 습 니 다.즉 C extends A, B 는 불법이다.
계승 적 특성 (중점 지식)
  • 자 류 는 부류 의 비 private 속성 과 방법 을 가지 고 있다
  • 자 류 는 자신 만 의 방법, 즉 확장
  • 이 있 을 수 있다.
  • 자 류 는 자신의 방법 으로 부 류 를 실현 할 수 있 는 방법
  • C extends B, B extends A 를 다 중 계승 할 수 있 으 며, 직접 부류 만 고려 할 수 있다
  • 계승 키워드
    앞에서 extends 계승 을 사용 하 라 고 했 는데 그 밖 에 implements 키워드 가 하나 더 있 습 니 다.모든 종 류 는 자바. lang. Object 를 계승 합 니 다.상속 성명 이 없 을 때 이 종 류 를 묵인 합 니 다.
    implements 키워드
    implements 키 워드 는 자바 의 다 중 계승 을 변형 적 으로 사용 할 수 있 습 니 다.클래스 계승 인터페이스 일 뿐 여러 개의 인 터 페 이 스 를 동시에 계승 할 수 있다.
    public interface A{
      public void eat();
      public void sleep();
    }
    
    public interface B{
      public void show();
    }
    //    A B     
    public class C implements A,B{}
    

    슈퍼 & this 키워드
    this: 자신 을 가리 키 는 인용 슈퍼:
  • 부모 클래스 방법 에 대한 접근: 슈퍼. method ()
  • 부류 구조 방법 에 대한 접근: 슈퍼 () 위의 코드
  • 참조
    class Animal {
      void eat() {
        System.out.println("animal : eat");
      }
    }
     
    class Dog extends Animal {
      void eat() {
        System.out.println("dog : eat");
      }
      void eatTest() {
        this.eat();   // this        
        super.eat();  // super       
      }
    }
     
    public class Test {
      public static void main(String[] args) {
        Animal a = new Animal();
        a.eat();
        Dog d = new Dog();
        d.eatTest();
      }
    }
    

    마지막 결과
    animal: eat dog: eat animal: eat
    final 키워드
    final 키 워드 는 클래스 를 계승 할 수 없 는 클래스 로 정의 합 니 다.방법 을 고 쳐 쓸 수 없 는 방법 으로 수식 하 다.

    좋은 웹페이지 즐겨찾기