Rumah >Java >javaTutorial >JAVA方法的重载与覆写

JAVA方法的重载与覆写

PHP中文网
PHP中文网asal
2017-06-22 14:25:221392semak imbas

方法的重载:(用于实现相同的功能,但需要不同的参数满足不同的用户)在同一个类中。

是指在一个类中可以定义相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型)。调用时,运用重载,对于用户使用API来说,就简单方便。不用为相同功能的方法起不同的名字,话说起来也方便,对用户来说做相同的事情,像是调用同一个函数一样。构造方法也可以重载。只要程序自己定义了构造方法,系统则不提供默认的构造方法。

    方法的覆写(重写):(子类覆写父类的方法,在不同的类中)

 

   方法的重写(override/overwrite)

   与重载区别:方法重载是在一个类中定义多个函数名相同返回类型相同,但参数不同的

    重写方法时:最好是采用copy父类的该函数

1、  在子类中可以根据需要对从基类中继承来的方法进行重写。

2、  重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。

3、  重写方法不能使用比被重写方法更严格的访问权限。

严格顺序private>default>protecte>public ,这个与多态有关,讲了多态就会明白得多。当某个地方由父类修饰了,可以调用父类的某个方法。若子类对该方法访问更严格,当传递子类过来,那么可能造成不可访问

java的多态:重载+覆写

问题:Java中使用什么机制实现多态?

多态是Java面向对象的特征之一,Java中通过重载和覆写来完成多态性的不同表现。但是二者是有区别的。

1)重载(Overloading)

Java中方法的重载,指的是在类中可以创建多个方法,它们具有相同的名字,但具有不同的引数列(参数类型和个数)和不同的定义。而返回值的类型可以相同也不以不同,但是不能仅仅通过不同的返回值来区分重载函数。调用方法的时候根据参数列表来判断调用哪个方法。重载是一个类中的多态性表现。

2)覆写(Overriding)

Java中,子类默认可以继承父类中的方法,而不需要重新编写相同的方法,但是有时候,子类并不想原封不动的继承父类中的方法,而是做出一定的修改,这就是采用方法的覆写(也成为覆盖)来实现的。Java中覆写指的是,在子类中对父类中同一重名函数实现部分加以改变,但与父类的该方法的方法名、返回类型和参数列表都保持一致。即子类对父类中的函数进行重新定义,子类中的新方法将覆盖父类原有的方法。覆写是父类与子类之间的一种多态表现。

Atas ialah kandungan terperinci JAVA方法的重载与覆写. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:详解 MyBatis XML配置Artikel seterusnya:JAVA排序之堆排序