W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
多態(tài) 定義:
多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。
理解方法: 以Animal、Dog、Cat類為例,它們都有eat方法,如果使用以下代碼:
Animal animal = new Dog();
animal.eat();
animal = new Cat();
animal.eat();
java執(zhí)行流程:
java會(huì)先看Animal中是否有eat方法的定義:{
如果沒(méi)有則會(huì)報(bào)錯(cuò);
如果有則java會(huì)再看實(shí)例化對(duì)象的類中是否有eat方法的實(shí)現(xiàn){
如果沒(méi)有則java會(huì)看Animal中是否有eat方法的實(shí)現(xiàn){
如果沒(méi)有則會(huì)報(bào)錯(cuò);
如果有則會(huì)調(diào)用;
}
如果有則會(huì)調(diào)用實(shí)例化對(duì)象的類中的eat方法。
}
}
以下為Animal為類、抽象類、接口時(shí)的代碼示例: 1.Animal為類時(shí)代碼示例:
class Animal{
public void eat() {
System.out.println("Animal吃東西。");
}
}
class Dog extends Animal{
public void eat() {
System.out.println("Dog吃東西。");
}
}
class Cat extends Animal{
public void eat() {
System.out.println("Cat吃東西。");
}
}
2.Animal為抽象類時(shí)代碼示例:
abstract class Animal{
public abstract void eat();
}
class Dog extends Animal{
public void eat() {
System.out.println("Dog吃東西。");
}
}
class Cat extends Animal{
public void eat() {
System.out.println("Cat吃東西。");
}
}
3.Animal為接口時(shí)代碼示例:
interface Animal{
public void eat();
}
class Dog implements Animal{
public void eat() {
System.out.println("Dog吃東西。");
}
}
class Cat implements Animal{
public void eat() {
System.out.println("Cat吃東西。");
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: