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
  • 相关阅读:
    mvc中使用Hangfire处理后台任务
    mvc中图片的保存和显示
    WebVTT 及 HTML5 <track> 元素简介
    vs2015发布网站至azure web应用服务
    jquery上传大文件至azure blob存储
    dapper利用DynamicParameters构建动态参数查询
    aspnetcore的那些actionresult们
    vs2015 debugger,unable to attach to application iisexpress.exe
    ASP.NET’s compilation system
    Introducing .NET Standard
  • 原文地址:https://www.cnblogs.com/sunupo/p/13493564.html
Copyright © 2011-2022 走看看