다형성에 대한 간단한 이해:
student 클래스는 Person 클래스를 상속하고, 학생 클래스의 객체는 학생 클래스와 person 클래스 모두입니다.
다형성에는 두 가지 형태의 표현이 있습니다:
1 .다형성의 메소드:
(1) 메소드 오버로딩: 동일한 메소드라도 전달된 매개변수의 유형이나 개수에 따라 다른 기능을 구현할 수 있습니다.
(2) 메소드 덮어쓰기: 동일한 메소드라도 구현 방식에 따라 다르게 구현될 수 있습니다. subclasses
2. 객체의 다형성:
상위 클래스와 하위 클래스 인스턴스 간의 변환 처리
(1) 객체 상향 변환: 상위 클래스 상위 클래스 인스턴스 = 새 하위 클래스 인스턴스() 자동으로 변환 완료
(2) ) 객체 하향 변환: 하위 클래스 하위 클래스 인스턴스 = 새(하위 클래스) 상위 클래스 인스턴스(); 변환을 강제로 완료합니다.
관련 비디오 튜토리얼 공유: 무료 Java 비디오 튜토리얼
다형성의 최종 표현:
1 . 상위 클래스에 대한 참조 변수는 하위 클래스 객체를 가리킬 수 있습니다
2. 다형성의 전제는 하위-부모 클래스 관계 또는 클래스 구현 인터페이스 관계가 있어야 한다는 것입니다. 그렇지 않으면 호출 시 다형성이 달성될 수 없습니다. 다형성 상위 클래스 참조 변수를 사용하는 메소드, 하위 클래스의 다시 작성된 메소드가 호출됩니다
다형성 멤버 변수:1. 컴파일 시 참조: 상위 클래스에 해당 변수가 없는 경우. 그렇지 않으면 컴파일이 실패합니다.
2. 실행 시 상위 클래스의 변수 값은 컴파일 및 실행 중에 상위 클래스에 따라 달라집니다. 메소드:
1. 컴파일할 때 상위 클래스에 해당 메소드가 있는지 참조하세요. 그렇지 않으면 컴파일이 실패합니다. 실행 중인 것은 하위 클래스의 재정의된 메서드입니다.멤버 메서드 컴파일은 상위 클래스를 보고, 실행은 하위 클래스를 살펴봅니다.객체의 두 가지 변환 방법 이해:
1 객체 상향 변환:
상향 변환 후 하위 클래스 개체는 상위 클래스가 소유한 메서드만 호출할 수 있으며 하위 클래스만 소유한 메서드는 호출할 수 없습니다. 다형성은 상향 변환을 통해 달성됩니다.
2. 상향 변환 후 객체를 변환하려는 경우 하위 클래스에만 고유하지만 상위 클래스에서는 사용할 수 없는 메서드를 사용하려면 객체의 다운캐스팅을 사용해야 합니다.
코드 데모: public class Person {
public void Eat(){
//在person类中定义一个吃的抽象方法
}
}
public class Student extends Person{
public void Eat(){
System.out.println("学生吃学校食堂");//重写父类中的抽象方法
}
public void Learning()
{
System.out.println("学生在学习");//定义一个student类特有的方法
}
}
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Person p=new Student();//通过向上转型定义一个p对象
p.Eat();//这是子父类共有的方法
p.Learning();
}
}
이 코드에서 우리는 메소드는 업캐스팅을 통해 하위 클래스에 고유하지만 다음 프롬프트가 나타납니다. 그림:
상위 클래스에 정의된 학습 메소드가 없습니다. 하지만 이때 하위 클래스의 고유 메소드를 호출해야 합니다. 이때 하향 변환을 구현해야 합니다.
보충 코드는 다음과 같습니다.Student stu=(Student)p;//将p对象向下转型实现方法调用 stu.Learning();더 많은 관련 튜토리얼을 보려면 다음을 방문하세요.
Java Quick Start
위 내용은 Java 객체 지향 다형성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

드림위버 CS6
시각적 웹 개발 도구

뜨거운 주제



