zoukankan      html  css  js  c++  java
  • Java多态:upcast和downcast

    upcast例:

    public class Test
    {
        public static void main(String[] args)
        { 
            Cup aCup = new BrokenCup();
            aCup.addWater(10); // method binding
        }
    }
    
    class Cup 
    {
        public void addWater(int w) 
        {
            this.water = this.water + w;
        }
    
        public void drinkWater(int w)
        {
            this.water = this.water - w;
        }
    
        private int water = 0;
    }
    
    class BrokenCup extends Cup
    {
        public void addWater(int w) 
        {
            System.out.println("shit, broken cup");
        }
    
        public void drinkWater(int w)
        {
            System.out.println("om...num..., no water inside");
        }
    }

    downcast例:

    public class TestJavaDemo{
        public static void main(String[] args) {
            Person p=new Student();
            Student s=(Student)p;
            s.fun1();
            s.fun2();
        }
    }
    
    class Person{
        public void fun1(){
            System.out.println("1.Person{fun1()}");
        }
    
        public void fun2(){
            System.out.println("2.Person{fun2()}");
        }
    }
    
    class Student extends Person{
        public void fun1(){
            System.out.println("3.Student{fun1()}");
        }
        public void fun3(){
            System.out.println("4.Student{fun3()}");
        }
    }
  • 相关阅读:
    ARM IIC接口
    ARM硬件问题转载
    自动排版
    书签
    ARM硬件问题转载
    ATPCS规则1
    开发硬件所需的知识
    今天很崩溃呀
    回顾一下
    ARM汇编条件码
  • 原文地址:https://www.cnblogs.com/alexkn/p/4558755.html
Copyright © 2011-2022 走看看