>  기사  >  Java  >  Java 기본: 다형성의 이해 및 응용

Java 기본: 다형성의 이해 및 응용

(*-*)浩
(*-*)浩앞으로
2019-08-13 16:52:252761검색

Java 기본: 다형성의 이해 및 응용

다형성 개요

1. 다형성은 캡슐화 및 상속에 이어 객체지향의 세 번째 주요 특징입니다.

2. 다형성 현실의 의미 이해:

실제 사물은 종종 학생과 같은 다양한 형태를 취합니다. 그러면 특정 동급생 Zhang San은 학생이자 인간입니다. 즉, 두 가지 형태가 있습니다.

객체 지향 언어인 Java는 사물의 여러 형태를 설명할 수도 있습니다. Student 클래스가 Person 클래스를 상속하는 경우 Student 개체는 Student이자 Person입니다.

3. 다형성은 상위 클래스 참조 변수가 하위 클래스 객체를 가리킬 수 있다는 사실에 반영됩니다.

4. 전제 조건: 자녀-부모 관계가 있어야 합니다.

참고: 다형성 부모 클래스 참조 변수를 사용하여 메서드를 호출하면 하위 클래스의 재정의된 메서드가 호출됩니다.

5. 다형성 정의 및 사용 형식

정의 형식: 상위 클래스 유형 변수 이름 = 새 하위 클래스 유형();

다형성 멤버 변수의 특징

1. , 왼쪽을 보세요

Fu f=new Zi();

System.out.println(f.num);//f는 Fu의 값이며 상위의 값만 가져올 수 있습니다

2 . 다형성 멤버 메소드: 왼쪽에서 컴파일하고 보고, 오른쪽에서 실행하고 보고

Fu f1=new Zi();

System.out.println(f1.show());//파사드 유형 f1은 Fu이지만 실제 유형은 Zi이므로 다시 작성된 메서드가 호출됩니다.

instanceof 키워드

함수: 개체가 특정 데이터 유형에 속하는지 여부를 확인하는 데 사용됩니다.

참고: 반환 유형은 Boolean입니다.

사용 사례:

Fu f1=new Zi();
Fu f2=new Son();
if(f1 instanceof Zi){
    System.out.println("f1是Zi的类型");
}
else{
    System.out.println("f1是Son的类型");
}

다형성 변환

다형성 변환은 상향 변환과 하향 변환의 두 가지 유형으로 나뉩니다.

상향 변환: 다형성 자체가 상향 변환입니다. 프로세스

사용 형식: 상위 클래스 유형 변수 이름 = 새 하위 클래스 유형();

적용 가능한 시나리오: 하위 클래스 유형을 직면할 필요가 없는 경우 확장성을 개선하거나 상위 클래스의 기능을 사용하여 해당 작업을 완료할 수 있습니다.

다운캐스팅: 상향 변환된 하위 클래스 객체는 강제 유형 변환 형식을 사용하여 상위 클래스 참조 유형을 하위 클래스 참조 유형으로 변환할 수 있습니다.

사용 형식: 하위 클래스 유형 변수 이름 = (하위 클래스 유형) 상위 클래스의 변수

적용 가능한 시나리오: 하위 클래스의 고유한 기능을 사용하려는 경우.

다형성 사례:

예 1:

package day0524;
 
public class demo04 {
    public static void main(String[] args) {
        People p=new Stu();
        p.eat();
        //调用特有的方法
        Stu s=(Stu)p;
        s.study();
        //((Stu) p).study();
    }
}
class People{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Stu extends People{
    @Override
    public void eat(){
        System.out.println("吃水煮肉片");
    }
    public void study(){
        System.out.println("好好学习");
    }
}
class Teachers extends People{
    @Override
    public void eat(){
        System.out.println("吃樱桃");
    }
    public void teach(){
        System.out.println("认真授课");
    }
}

예 2:

프로젝트를 실행한 결과는 무엇입니까?

아아아아

위 내용은 Java 기본: 다형성의 이해 및 응용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제