zoukankan      html  css  js  c++  java
  • 对象的上转型对象

    1. 子类覆盖了父类的方法和具有同名的属性

    package com.sun.util;
    
    import java.math.BigDecimal;
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Scanner;
    
    class A{
        public int a=1;
        public int b=2;
        public void add(){
            System.out.println("A add");
        }
        public void minus(){
            System.out.println("A minus");
        }
        
    }
    public class B extends A{
        public int a=3;
        public int b=4;
        public int c=5;
        @Override
        public void add() {
            // TODO Auto-generated method stub
    //        super.add();
            System.out.println("B add");
        }
        public void multi(){
            System.out.println("B multi");
        }
        public static void main(String[] args) {
            LinkedList<Integer> list=new LinkedList<>();
            list.add(1, 1);
            A a = new B();
            System.out.println(a.a);    //1
            System.out.println(a.b);    //2
            a.add();
            a.minus();
    //        a.multi() ;// 无法访问子类的新增方法
            
            B b =new B();
            System.out.println(b.a);    //3
            System.out.println(b.b);    //4
            System.out.println(b.c);
            b.add();
        }
    }
    

    1
    2
    B add
    A minus
    3
    4
    5
    B add




    1. 子类覆盖了父类的方法和没有同名的属性

    package com.sun.util;
    
    import java.math.BigDecimal;
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Scanner;
    
    class A{
        public int a=1;
        public int b=2;
        public void add(){
            System.out.println("A add");
        }
        public void minus(){
            System.out.println("A minus");
        }
        
    }
    public class B extends A{
    //    public int a=3;
    //    public int b=4;
        public int c=5;
        @Override
        public void add() {
            // TODO Auto-generated method stub
    //        super.add();
            System.out.println("B add");
        }
        public void multi(){
            System.out.println("B multi");
        }
        public static void main(String[] args) {
    
            A a = new B();
            System.out.println(a.a);    //1
            System.out.println(a.b);    //2
            a.add();
            a.minus();
    //        a.multi() ;// 无法访问子类的新增方法
            
            B b =new B();
            System.out.println(b.a);    //1
            System.out.println(b.b);    //2
            System.out.println(b.c);
            b.add();
        }
    }
     
    1
    2
    B add
    A minus
    1
    2
    5
    B add
  • 相关阅读:
    数字配对(bzoj 4514)
    任务查询系统(bzoj 3932)
    楼房重建(bzoj 2957)
    Hotel(poj 3667)
    Can you answer these queries(spoj 1043)
    亚瑟王(bzoj 4008)
    潘多拉的盒子(bzoj 1194)
    Circling Round Treasures(codeforces 375c)
    莫队算法---基础知识介绍(转载)
    HDU 1141---Brackets Sequence(区间DP)
  • 原文地址:https://www.cnblogs.com/sunupo/p/13493564.html
Copyright © 2011-2022 走看看