A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

但是不会调用被子类重载的方法。
例:
public class Basic{
    public void add(int i)
    {
        System.out.println("Basic add");
    }

    public Basic()
    {
        add('a');
    }
}

public class A extends Basic{
    public void add(int i)
    {
        System.out.println("A add");
    }
}

public class B extends Basic{
    public void add(char i)
    {
        System.out.println("B add");
    }
}

public class Main{
    public static void main(String[] args)
    {
        A a = new A();
        B b = new B();
    }
}

1 个回复

倒序浏览
感觉可以试着理解下,重载和重写的概念
重载:是多重载入的意思,就是说加载了很多种类,根据你的参数类型,需要哪个调用哪个
        就是说,子类重载了父类的方法,子类中实际上会存在两个名称相同,参数不同的方法,(都存在,根据参数调用)
重写:是改写的意思,在子类中,父类的该方法已经被覆盖掉,不存在了.
你直接创建子类引用指向子类对象,无论编译还是运行,看的都是子类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马