zoukankan      html  css  js  c++  java
  • java 父类对象 和 子类对象 的类型转换

    /**
     * 父类对象 和 子类对象  的类型转换
     */
    public class TypeCast{
        public static void main(String[] args){
            Employee[] staff = new Employee[3];
            staff[0] = new Employee();
            System.out.println(staff[0]);
            System.out.println(staff[1]);
    
            //Manager boss0 = staff[0];  //java.lang.Error: Unresolved compilation problems:
                                         //Type mismatch:cannot convert from Employee to Manager
    
            //Manager boss0 = (Manager)staff[0]; //ClassCastException: Employee cannot be cast to Manager
            Manager boss0 = (Manager)staff[1];  //staff[1] is null, can give to boss0
            System.out.println(boss0);
    
            Manager boss = new Manager();
            System.out.println(boss);
    
            staff[0] = boss;  // subclass object assign to reference
            System.out.println(staff[0]);
        }
    }
    
    class Employee{
        private String name;
        public Employee(){
            this("emplyee");
        }
        public Employee(String name){
            this.name = name;
        }
        public String toString(){
            return name;
        }
    }
    
    class Manager extends Employee{
        private int bonus;
        public Manager(){
            super("manager");
            bonus = 1;
        }
        public String toString(){
            return super.toString() + " " + bonus;
        }
    }
    
  • 相关阅读:
    一个js选项卡
    郁闷
    Object Literals
    typeof and instanceof
    比较好用的日期控件
    很炫的分页
    [转]ASP.NET Web.config配置文件的基本使用方法
    正则匹配 获取QQ空间日志
    漂浮窗(层)JS
    ASP.NET页面事件执行过程(完整版)
  • 原文地址:https://www.cnblogs.com/billxxx/p/12058490.html
Copyright © 2011-2022 走看看