자바 3 대 특성 중 하나 인 다 형
자바 에서 다 중 전 제 는:
1. 상속 또는 실현 관계 가 있다.
2 재 작성 방법 이 있어 요.
다 중 적 인 장점: 프로그램의 확장 성 을 향상 시 키 고 특정한 공 통 된 특성 을 가 진 대상 에 대해 우 리 는 그들의 부 류 를 추상 화하 고 부 류 를 조작 하여 한 무리의 대상 이 일 을 하도록 지휘 할 수 있다.
다 태 적 표현: 하나의 하위 대상 을 하나의 부계 대상 으로 보 거나 부계 인용 지향 과 같은 대상 으로 본다.Person p = new Student();이런 식 으로.
다 중 결함: 방문 의 한계 성, 예 를 들 어 상기 p 는 Person 류 의 방법 만 방문 할 수 있 고 Student 류 의 방법 을 방문 할 수 없습니다.
다 태 의 가장 기본 적 인 두 가지 정리:
정리 우리 가 하나의 하위 대상 을 부모 대상 으로 볼 때, 예 를 들 어 Person p = new Student ();부모 클래스 에 만 접근 할 수 있 는 방법 입 니 다. 하위 클래스 에 접근 할 수 없 는 방법:
예 를 들 어 부자 류 Person Student 를 다음 과 같이 정의 합 니 다.
- package com.anjoyo.demo;
-
- public class Person {
- private String name;
- private int age;
-
- public Person() {
- }
- public Person(String name, int age) {
- this.name = name;
- this.age = age;
- }
- public void move(){
- System.out.println("Person move !");
- }
- }
Student 클래스 정의, Student 상속 자 Person
- package com.anjoyo.demo;
-
- public class Student extends Person{
- public void study(){
- System.out.println("learn");
- }
- }
테스트 클래스 코드 는 다음 과 같 습 니 다:
- package com.anjoyo.demo;
-
- public class TestStudent {
- public static void main(String[] args) {
- Person p =new Student();
- p.move();
- //p.study();
- // :The method study() is undefined for the type Person
- }
- }
p 대상 이 하위 Student 를 호출 할 수 없 는 방법 study () 를 알 수 있다.
정리 2 우리 가 하나의 하위 대상 을 부모 대상 으로 볼 때, 예 를 들 어 Person p = new Student ();하위 클래스 에 부모 클래스 의 방법 을 다시 쓰 면 이 방법 을 호출 할 때 하위 클래스 의 방법 을 사용 합 니 다.
예 를 들 어 Student 클래스 에서 move 방법 을 다시 쓰 면 다음 과 같 습 니 다.
- package com.anjoyo.demo;
-
- public class Student extends Person{
- public void study(){
- System.out.println("learn");
- }
- public void move(){
- System.out.println("Student running !");
- }
- }
테스트 클래스 에서 p 로 move () 방법 을 호출 할 때 출력 하 는 것 은 Student running 입 니 다!
- package com.anjoyo.demo;
-
- public class TestStudent {
- public static void main(String[] args) {
- Person p =new Student();
- p.move();//Student running !
- }
- }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.