자바 다형성을 이해하는 방법

青灯夜游
풀어 주다: 2021-04-13 17:55:39
원래의
6335명이 탐색했습니다.

Java에서 다형성은 동일한 동작이 여러 가지 다른 표현이나 형태를 가질 수 있는 능력입니다. 다형성은 동일한 인터페이스로, 서로 다른 인스턴스를 사용하여 서로 다른 작업을 수행합니다. 다형성의 장점: 1. 유형 간의 결합 관계 제거, 3. 확장성, 5. 유연성,

자바 다형성을 이해하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.

다형성 개요

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

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

  • 실제 사물은 종종 다양한 형태를 취합니다. 예를 들어 학생은 일종의 인간이고 특정 동급생 Zhang San은 둘 다학생입니다. 사람두 가지 형태로 나타납니다.

    객체 지향 언어인 Java는 사물의 여러 형태를 설명할 수도 있습니다. Student 클래스가 Person 클래스를 상속하는 경우 Student 개체는 Student이자 Person입니다.
  • 3. 다형성은
  • 부모 클래스 참조 변수가 하위 클래스 객체를 가리킬 수 있다는 사실에 반영됩니다
.

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

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

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

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

6. 이해:

父类类型 变量名=new 子类类型();

6、理解:

多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作。

7、多态的优点

  • 消除类型之间的耦合关系

  • 可替换性

  • 可扩充性

  • 接口性

  • 灵活性

  • 简化性

8、多态存在的三个必要条件

  • 继承

  • 重写

  • 父类引用指向子类对象:Parent p = new Child();다형성은 동일합니다. 여러 가지 다른 표현이나 형태를 갖는 행동.

  • 다형성은 서로 다른 인스턴스를 사용하여 서로 다른 작업을 수행하는 동일한 인터페이스입니다. polymorphism

      7. 유연성

      Simplification

      8. 다형성이 존재하는 데 필요한 세 가지 조건

        상속

        Rewrite

        부모 클래스 참조는 하위 클래스 객체를 가리킵니다:Parent p = new Child();

        • 다형성 멤버의 특성
        1. 다형성 멤버 변수: 컴파일하고 실행할 때 다음을 살펴보세요. left side

        Fu f=new Zi(); System.out.println(f.num);//f是Fu中的值,只能取到父中的值
        로그인 후 복사

        2. 다형성 멤버 메소드: 컴파일하고 실행할 때는 왼쪽을 보고, 실행할 때는 오른쪽을 보세요

        Fu f1=new Zi(); System.out.println(f1.show());//f1的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法。
        로그인 후 복사

          instanceofkeyword
        함수: 객체가 속한 객체인지 확인하는 데 사용됩니다. 특정 데이터 유형.

        참고: 반환 유형은 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:프로젝트를 실행한 결과는 무엇인가요?
        package day0524; public class demo1 { public static void main(String[] args) { A a=new A(); a.show(); B b=new B(); b.show(); } } class A{ public void show(){ show2(); } public void show2(){ System.out.println("A"); } } class B extends A{ public void show2(){ System.out.println("B"); } } class C extends B{ public void show(){ super.show(); } public void show2(){ System.out.println("C"); } }
        로그인 후 복사
        정답: A B관련 영상 튜토리얼 추천: Java 영상 튜토리얼

      위 내용은 자바 다형성을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

      관련 라벨:
      원천:php.cn
      본 웹사이트의 성명
      본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
      최신 이슈
      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!