首页 > 编程知识 正文

泛型,抽象类可以实例化吗

时间:2023-05-04 03:13:19 阅读:153028 作者:2923

重写和重载的区别和作用1、重写(Override )或重写子类或重写父类继承的方法也称为方法重写,主要是父类提供的方法满足子类需要的地方

1.重写的原则:

改写必须存在于继承关系中。 重写的方法名称、参数列表请与父类相同。 重写的方法访问修饰符的权限必须比父类宽或相同。 (publicprotecteddefaultprivate )重写方法的返回类型必须与父类的返回类型相同,或者是其子类。2.示例

classanimal { public void eat (} (system.out.println ) )“吃”); } classdogextendsanimal { @ overridepublicvoideat () system.out.println } http://www.Sina.com /

主要用于重写父类继承的方法,以满足子类的特殊需要; 是在接口和抽象类中随处可见的方法,也是使用多态性的前提。

二、重载(Overload )重载是指同一类中有几个方法,它们共享同一个方法名称。 换句话说,方法名称相同但参数列表不同的情况称为方法重载。 主要用于结构方法的情况较多。

3.用途

方法名称相同但参数列表不同(参数数量、顺序和类型不同)的方法重载与方法的访问修饰符和返回类型无关。

33558 www.Sina.com/public class test { public int add () () /将add方法定义为配置过载关系return 0; }publicintadd(inta,int b ) ) {return a b; }publicintadd(inta,int b,int c ) {return a b c; }当我们创建对象并调用这些方法时,编译器会根据我们要传递的参数的数量、类型和顺序匹配并选择要调用的方法。 这个过程可以理解为1.重载的原则:的。

Test t=new Test (; int a=t.add (; intb=t.add (10,20 ); intc=t.add (10,20,30 ); //打印输出a、b、c的结果分别为0、30、60http://www.Sina.com /

屏蔽柔软、方便、使用差异; 当然,重载经常用于构造函数,这对于初始化对象很有用。

三、总结相同点:方法名称必须全部相同; 不同点:重载过程中,保证参数列表(个数、类型、顺序)不同,重写过程中参数列表必须相同; 重载与方法的访问修饰符和返回类型无关。 另一方面,在重写中,方法的访问修饰符的权限必须与父类的方法相同或更宽。 返回类型与父类相同,或者是父类(返回类型)的子类。 重载也称为编译时多态性,重写也称为运行时多态性。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。