Java 的多态

来源:互联网 发布:three.js包下载 编辑:程序博客网 时间:2024/05/21 06:52

一、多态的定义
二、多态的作用
三、多态的种类
1)方法的重载和覆写
2)对象的多态性

 Java中对象的多态对象的多态性表现在两个方面:     1) 向上转型     2) 向上转型   例子:  package com.wnl.plo;class A {    public void fun1() {        System.out.println("我是父类的fun1()方法");    }    public void fun2() {        System.out.println("我是父类的fun2()方法");    }}class B extends A {    @Override    public void fun1() {        // TODO Auto-generated method stub        System.out.println("我是子类的fun1()方法");    }    @Override    public void fun2() {        // TODO Auto-generated method stub        super.fun2();        System.out.println("我是子类的fun2()方法");    }    public void fun3(){        System.out.println("我是子类特有的方法");    }}public class PolDemo01 {    public static void main(String[] args) {        System.out.println("=====================向上转型");        /**         * 1  向上转型:父类对象使用子类实例【程序自动完成】            *   1) 父类对象只能调用被子类重写或覆写的方法,         *     如果子类没有重写或覆写,则调用父类方法         */        A a=new B();//父类    父类对象-->子类    子类实例          a.fun1();//调用子类覆盖的方法        a.fun2();;//调用子类覆盖的方法        System.out.println("=====================向下转型");        /**         * 2  向下转型: 子类  子类对象-->父类 父类实例  必须指明子类类型         *    1)在向下转型时,必须先做向上转型,不然会出现对象转换异常         */         A a1=new B();        B b=(B) a1;        b.fun1();        b.fun2();        b.fun3();    }}输出:  =====================向上转型我是子类的fun1()方法我是父类的fun2()方法我是子类的fun2()方法=====================向下转型我是子类的fun1()方法我是父类的fun2()方法我是子类的fun2()方法我是子类特有的方法
0 0
原创粉丝点击