자바 3 대 특성 중 하나 인 다 형

6752 단어 자바다 형
다 태 는 어떤 사물 의 다양성 을 가리킨다.
자바 에서 다 중 전 제 는:
      1. 상속 또는 실현 관계 가 있다.
      2  재 작성 방법 이 있어 요.  
다 중 적 인 장점: 프로그램의 확장 성 을 향상 시 키 고 특정한 공 통 된 특성 을 가 진 대상 에 대해 우 리 는 그들의 부 류 를 추상 화하 고 부 류 를 조작 하여 한 무리의 대상 이 일 을 하도록 지휘 할 수 있다.
다 태 적 표현: 하나의 하위 대상 을 하나의 부계 대상 으로 보 거나 부계 인용 지향 과 같은 대상 으로 본다.Person p  = new Student();이런 식 으로.
다 중 결함: 방문 의 한계 성, 예 를 들 어 상기 p 는 Person 류 의 방법 만 방문 할 수 있 고 Student 류 의 방법 을 방문 할 수 없습니다.
다 태 의 가장 기본 적 인 두 가지 정리:
정리 우리 가 하나의 하위 대상 을 부모 대상 으로 볼 때, 예 를 들 어 Person p = new Student ();부모 클래스 에 만 접근 할 수 있 는 방법 입 니 다. 하위 클래스 에 접근 할 수 없 는 방법:
예 를 들 어 부자 류 Person Student 를 다음 과 같이 정의 합 니 다.

  
  
  
  
  1. package com.anjoyo.demo;  
  2.  
  3. public class Person {  
  4.     private String name;  
  5.     private int age;  
  6.       
  7.     public Person() {  
  8.     }  
  9.     public Person(String name, int age) {  
  10.         this.name = name;  
  11.         this.age = age;  
  12.     }  
  13.     public void move(){  
  14.         System.out.println("Person move !");  
  15.     }  
  16. }  

Student 클래스 정의, Student 상속 자 Person

  
  
  
  
  1. package com.anjoyo.demo;  
  2.  
  3. public class Student extends Person{  
  4.     public void study(){  
  5.         System.out.println("learn");  
  6.     }  
  7. }  

테스트 클래스 코드 는 다음 과 같 습 니 다:

  
  
  
  
  1. package com.anjoyo.demo;  
  2.  
  3. public class TestStudent {  
  4.     public static void main(String[] args) {  
  5.         Person p =new Student();  
  6.         p.move();  
  7.         //p.study();    
  8.         // :The method study() is undefined for the type Person  
  9.     }  
  10. }  

p 대상 이 하위 Student 를 호출 할 수 없 는 방법 study () 를 알 수 있다.
정리 2  우리 가 하나의 하위 대상 을 부모 대상 으로 볼 때, 예 를 들 어 Person p = new Student ();하위 클래스 에 부모 클래스 의 방법 을 다시 쓰 면 이 방법 을 호출 할 때 하위 클래스 의 방법 을 사용 합 니 다.
예 를 들 어 Student 클래스 에서 move 방법 을 다시 쓰 면 다음 과 같 습 니 다.

  
  
  
  
  1. package com.anjoyo.demo;  
  2.  
  3. public class Student extends Person{  
  4.     public void study(){  
  5.         System.out.println("learn");  
  6.     }  
  7.     public void move(){  
  8.         System.out.println("Student running !");  
  9.     }  
  10. }  

테스트 클래스 에서 p 로 move () 방법 을 호출 할 때 출력 하 는 것 은 Student running 입 니 다!

  
  
  
  
  1. package com.anjoyo.demo;  
  2.  
  3. public class TestStudent {  
  4.     public static void main(String[] args) {  
  5.         Person p =new Student();  
  6.         p.move();//Student running !  
  7.     }  
  8. }  

좋은 웹페이지 즐겨찾기