• java 初学之三 多态和抽象类


    采取递进的方式,了解比较好些。

    多态的两种方式:

    第一种方式

    package abstr;
    
    //P75 Example 4_20
    
     class 动物 {
         void cry(){}
    }
    
    classextends 动物{
        void cry() { System.out.println("汪汪....."); }
    }
    classextends 动物{
        void cry() { System.out.println("喵喵....."); }
    }
    
    public class A {
        public static void cry(动物 dongwu) {
            dongwu.cry();
        }
        
        public static void main(String[] args) {
    
            狗 gou=new 狗();
            cry(gou);
            猫 mao=new 猫();
            cry(mao);
            
            
        }
        
    
        
    }

    第二种方式

    package abstr;
    
    //P75 Example 4_20
    
     class 动物 {
         void cry(){}
    }
    
    classextends 动物{
        void cry() { System.out.println("汪汪....."); }
    }
    classextends 动物{
        void cry() { System.out.println("喵喵....."); }
    }
    
    public class A {
    
        public static void main(String[] args) {
            动物 dongwu;
            dongwu=new 狗();
            dongwu.cry();
            dongwu=new 猫();
            dongwu.cry();
        
        } 
    }

    上边的的例子是比较著名的关于多态的例子,我们往往会倾向于第一种用的比较多,不过这个也是在于编程人员自己的习惯。

    总结一下的多态的特点:

    1、继承

    2、子类重写父类的方法

    3、上转型

    多态的好处:

    对不同的对象采取统一的处理。

    关于上边的例子:不是每一个子类都必须要重写父类的方法,为了是子类必须要重写父类的方法,所以我们引入了“抽象类”的概念。

    关键字:abstract :尚未完成,表示必须要子类必须完成的任务。

    抽象类的作用:就是用来派生子类,被别的类所继承。注意不能实例化。

    上边的例子完美化:

    package abstr;
    
    //P75 Example 4_20
    
    abstract class 动物 {
        abstract void cry();
    }
    
    classextends 动物{
        void cry() { System.out.println("汪汪....."); }
    }
    classextends 动物{
        void cry() { System.out.println("喵喵....."); }
    }
    
    public class A {
        public static void cry(动物 dongwu) {
            dongwu.cry();
        }
        
        public static void main(String[] args) {
    
            狗 gou=new 狗();
            cry(gou);
            猫 mao=new 猫();
            cry(mao);
            
            
        }
        
    
        
    }
  • 相关阅读:
    常见的块级元素和行级元素
    CentOS 利用 yum 安装卸载软件常用命令
    MySQL 派生表(Derived Table) Merge Optimization
    MySQL中的两种临时表
    集中化管理平台 — Ansible 详解
    MySQL 错误码对照
    mysqldump 工具使用详解——参数选项
    git 命令参考手册
    XtraBackup 备份与恢复实例讲解
    XtraBackup 原理与安装
  • 原文地址:https://www.cnblogs.com/flashweb/p/2965761.html
Copyright © 2020-2023  润新知