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()方法
        }
    };
  • 相关阅读:
    reids 持久化
    center os 下redis安装以及基本使用
    MongoDB安装(Window)
    mysql中文乱码解决办法
    github托管代码
    MySQL表损坏修复【Incorrect key file for table】
    运维杂记-02
    配置ssh秘钥登陆
    nginx解决跨域问题
    运维杂记-01
  • 原文地址:https://www.cnblogs.com/tszr/p/12153018.html
Copyright © 2011-2022 走看看