JAVA方法的重载与覆写
是指在一个类中可以定义相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型)。调用时,运用重载,对于用户使用API来说,就简单方便。不用为相同功能的方法起不同的名字,话说起来也方便,对用户来说做相同的事情,像是调用同一个函数一样。构造方法也可以重载。只要程序自己定义了构造方法,系统则不提供默认的构造方法。
方法的覆写(重写):(子类覆写父类的方法,在不同的类中)
方法的重写(override/overwrite)
与重载区别:方法重载是在一个类中定义多个函数名相同返回类型相同,但参数不同的
重写方法时:最好是采用copy父类的该函数
1、 在子类中可以根据需要对从基类中继承来的方法进行重写。
2、 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。
3、 重写方法不能使用比被重写方法更严格的访问权限。
严格顺序private>default>protecte>public ,这个与多态有关,讲了多态就会明白得多。当某个地方由父类修饰了,可以调用父类的某个方法。若子类对该方法访问更严格,当传递子类过来,那么可能造成不可访问
java的多态:重载+覆写
问题:Java中使用什么机制实现多态?
多态是Java面向对象的特征之一,Java中通过重载和覆写来完成多态性的不同表现。但是二者是有区别的。
1)重载(Overloading)
Java中方法的重载,指的是在类中可以创建多个方法,它们具有相同的名字,但具有不同的引数列(参数类型和个数)和不同的定义。而返回值的类型可以相同也不以不同,但是不能仅仅通过不同的返回值来区分重载函数。调用方法的时候根据参数列表来判断调用哪个方法。重载是一个类中的多态性表现。
2)覆写(Overriding)
Java中,子类默认可以继承父类中的方法,而不需要重新编写相同的方法,但是有时候,子类并不想原封不动的继承父类中的方法,而是做出一定的修改,这就是采用方法的覆写(也成为覆盖)来实现的。Java中覆写指的是,在子类中对父类中同一重名函数实现部分加以改变,但与父类的该方法的方法名、返回类型和参数列表都保持一致。即子类对父类中的函数进行重新定义,子类中的新方法将覆盖父类原有的方法。覆写是父类与子类之间的一种多态表现。
以上就是JAVA方法的重载与覆写的详细内容,更多请关注其它相关文章!