zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然JAVA面向对象高级编程学习笔记:对象的多态性

    class A{                    // 定义类A
        public void fun1(){        // 定义fun1()方法
            System.out.println("A --> public void fun1(){}") ;
        }
        public void fun2(){
            this.fun1() ;        // 调用fun1()方法
        }
    };
    class B extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("B --> public void fun1(){}") ;
        }
        public void fun3(){
            System.out.println("B --> public void fun3(){}") ;
        }
    };
    public class PolDemo01{
        public static void main(String asrgs[]){
            B b = new B() ;        // 实例化子类对象
            A a = b ;            // 向上转型关系
            a.fun1() ;            // 此方法被子类覆写过
            a.fun3() ;
        }
    };
    class A{                    // 定义类A
        public void fun1(){        // 定义fun1()方法
            System.out.println("A --> public void fun1(){}") ;
        }
        public void fun2(){
            this.fun1() ;        // 调用fun1()方法
        }
    };
    class B extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("B --> public void fun1(){}") ;
        }
        public void fun3(){
            System.out.println("B --> public void fun3(){}") ;
        }
    };
    public class PolDemo02{
        public static void main(String asrgs[]){
            A a = new B() ;            // 向上转型关系
            B b = (B)a ;        // 发生了向下转型关系
            b.fun1() ;
            b.fun2() ;
            b.fun3() ;
        }
    };
    class A{                    // 定义类A
        public void fun1(){        // 定义fun1()方法
            System.out.println("A --> public void fun1(){}") ;
        }
        public void fun2(){
            this.fun1() ;        // 调用fun1()方法
        }
    };
    class B extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("B --> public void fun1(){}") ;
        }
        public void fun3(){
            System.out.println("B --> public void fun3(){}") ;
        }
    };
    public class PolDemo03{
        public static void main(String asrgs[]){
            A a = new A() ;            // 实例化了一个父类对象
            B b = (B)a ;        // 发生了向下转型关系
            b.fun1() ;
            b.fun2() ;
            b.fun3() ;
        }
    };
    class A{                    // 定义类A
        public void fun1(){        // 定义fun1()方法
            System.out.println("A --> public void fun1(){}") ;
        }
        public void fun2(){
            this.fun1() ;        // 调用fun1()方法
        }
    };
    class B extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("B --> public void fun1(){}") ;
        }
        public void fun3(){
            System.out.println("B --> public void fun3(){}") ;
        }
    };
    class C extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("C --> public void fun1(){}") ;
        }
        public void fun5(){
            System.out.println("C --> public void fun5(){}") ;
        }
    };
    public class PolDemo04{
        public static void main(String asrgs[]){
            fun(new B()) ;    // 传递B的实例
            fun(new C()) ;    // 传递B的实例
        }
        public static void fun(B b){
            b.fun1() ;        // 调用覆写父类中的fun1()方法
        }
        public static void fun(C c){
            c.fun1() ;        // 调用覆写父类中的fun1()方法
        }
    };
    class A{                    // 定义类A
        public void fun1(){        // 定义fun1()方法
            System.out.println("A --> public void fun1(){}") ;
        }
        public void fun2(){
            this.fun1() ;        // 调用fun1()方法
        }
    };
    class B extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("B --> public void fun1(){}") ;
        }
        public void fun3(){
            System.out.println("B --> public void fun3(){}") ;
        }
    };
    class C extends A{
        public void fun1(){        // 此方法被子类覆写了
            System.out.println("C --> public void fun1(){}") ;
        }
        public void fun5(){
            System.out.println("C --> public void fun5(){}") ;
        }
    };
    public class PolDemo05{
        public static void main(String asrgs[]){
            fun(new B()) ;    // 传递B的实例
            fun(new C()) ;    // 传递B的实例
        }
        public static void fun(A a){
            a.fun1() ;        // 调用覆写父类中的fun1()方法
        }
    };
  • 相关阅读:
    微信小程序 API 界面 (2)
    微信小程序 API 界面(1)
    微信小程序 API 路由
    微信小程序 API 基础
    微信小程序image组件
    navigator组件(相当于a标签)
    functional-page-navigator 组件
    node.js配置环境变量
    animate(动画)框架 和 swiper (轮播)框架 的使用
    SwipeRefreshLayout的使用,下拉刷新
  • 原文地址:https://www.cnblogs.com/tszr/p/12153018.html
Copyright © 2011-2022 走看看