java 基础 重写和重载

来源:互联网 发布:ubuntu tty u盘 编辑:程序博客网 时间:2024/04/27 17:44

对于重载,重载指的是对于多个方法有相同的方法名,但是实现该方法可以根据不同的参数列表实现不同的功能。

对于重载,只要参数类型,参数个数,和参数顺序    至少有一个不同,就会构成方法重载。

而且对于重载方法的调用,一般是向上转型!


public static void  input(short s){System.out.println(s+"s");}//public static void  input(int i){//System.out.println(i+"i");//}public static void  input(long l){System.out.println(l+"  l");}staticArrayList  arylist=new ArrayList();public static void main(String[] args) {test(arylist );short s=1;input(s);}

直接参数为整形,会调用 long参数的类型



--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

关于重写,重写就是重新实现父类中中的某些方法,方法名字和参数列表必须一样:


1,返回值类型若是基本数据类型(以及各个基本类型的包装类型) 必须完全一样,返回值若是除去包装类型以外的类型,子类的返回值类型,可以是父类方法中返回值类型的

子类,比如父类方法返回值类型为object,子类重写方法中类型可以是Integer 因为都是object的子类,其他自定义类同理。

2,重写方法的方法权限修饰符只可以放大或者不变

3,对于异常,只可以具体化异常,或者不抛出异常


父类中私有的方法不能被重写,就算在子类中重写了方法,这两个方法只是两个类的私有方法。


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

对于继承中的属性和方法的调用 遵循的规则:对于重写方法的调用,请注意 父类子类都有该方法,调用是依据对象类型来调用,动态调用方法

                                                                                对于属性的调用,是根据引用变量的类型来调用的,静态调用属性。



写的很烂,纯属个人的小小笔记,无敌菜鸟刚起步,,·····