失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > overloading(重载)与overriding(重写)的区别:

overloading(重载)与overriding(重写)的区别:

时间:2021-11-23 20:13:23

相关推荐

overloading(重载)与overriding(重写)的区别:

overloading :方法的重载,发生在同一个类中,方法名相同,参数列表不同,返回值无关;

/*** Created by whs on /11/4.*/public class test {public static void main(String[] args) {//只有一个参数的构造方法调用有两个参数的Person person = new Person(7);}}class Person{int age;String name;//默认构造方法public Person(){}//方法的重载public Person(int age){//只有一个参数的构造方法调用有两个参数的this(7,"LIHUA");this.age =age;System.out.println("这是只有一个参数的构造方法");}//方法的重载public Person(int age,String name){this.age =age;this.name=name;System.out.println("这是有两个参数的构造方法");}}

overriding:方法的重写,发生在子父类中,方法名相同,参数列表相同,返回值相同,子类的访问修饰符要大于或等于父类的访问修饰符,子类的异常声明必须要小于等于父类的异常

声明,如果父类的、方法被private、static、final修饰,那么方法不能被重写

import .apache.bcel.internal.generic.NEW;import javax.naming.Name;/*** Created by 25037 on /11/28.*/public class jicheng01 {public static void main(String[] args) {HomeDog homeDog = new HomeDog();homeDog.print("旺财");}static class Dog {//Dog作为父类protected String Name;private String Sex;public void eat() {System.out.println("吃饭");}}static class HomeDog extends Dog {//HomeDog继承Dog类//方法的重写public void eat() {System.out.println("我是一只家狗,我会跑");}}}

overloading(重载)与overriding(重写)本质上没有半毛钱的关系,但是由于两者容易混淆,因此在面试题中却是个常见的笔试题。谨以此文帮助大家理解~~

如果觉得《overloading(重载)与overriding(重写)的区别:》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。