多態(tài)

2019-06-26 19:01 更新

多態(tài) 定義:

  1. 多態(tài)是同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。

理解方法: 以Animal、Dog、Cat類為例,它們都有eat方法,如果使用以下代碼:

  1. Animal animal = new Dog();
  2. animal.eat();
  3. animal = new Cat();
  4. animal.eat();
  1. java執(zhí)行流程:
  2. java會先看Animal中是否有eat方法的定義:{
  3. 如果沒有則會報錯;
  4. 如果有則java會再看實例化對象的類中是否有eat方法的實現(xiàn){
  5. 如果沒有則java會看Animal中是否有eat方法的實現(xiàn){
  6. 如果沒有則會報錯;
  7. 如果有則會調(diào)用;
  8. }
  9. 如果有則會調(diào)用實例化對象的類中的eat方法。
  10. }
  11. }

以下為Animal為類、抽象類、接口時的代碼示例: 1.Animal為類時代碼示例:

  1. class Animal{
  2. public void eat() {
  3. System.out.println("Animal吃東西。");
  4. }
  5. }
  6. class Dog extends Animal{
  7. public void eat() {
  8. System.out.println("Dog吃東西。");
  9. }
  10. }
  11. class Cat extends Animal{
  12. public void eat() {
  13. System.out.println("Cat吃東西。");
  14. }
  15. }

2.Animal為抽象類時代碼示例:

  1. abstract class Animal{
  2. public abstract void eat();
  3. }
  4. class Dog extends Animal{
  5. public void eat() {
  6. System.out.println("Dog吃東西。");
  7. }
  8. }
  9. class Cat extends Animal{
  10. public void eat() {
  11. System.out.println("Cat吃東西。");
  12. }
  13. }

3.Animal為接口時代碼示例:

  1. interface Animal{
  2. public void eat();
  3. }
  4. class Dog implements Animal{
  5. public void eat() {
  6. System.out.println("Dog吃東西。");
  7. }
  8. }
  9. class Cat implements Animal{
  10. public void eat() {
  11. System.out.println("Cat吃東西。");
  12. }
  13. }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號