java怎么拦截某个对象
263
2023-01-26
详解Java中方法重写与重载的区别(面试高频问点)
java中方法重写与重载的区别
重 写
重 载
子类方法对父类方法的覆盖
同一个类中同名方法的重载(同一类包括从父类继承的方法)
方法名相同且参数个数类型顺序相同
参数个数或类型顺序至少满足一点不同
只允许访问权限更宽松
访问权限任意
返回值类型若是基本类型则不允许不同;若是复合类型则在子类与父类间必须至少存在继承关系
返回值类型任意
final修饰的父类,子类不能重写,反之可以
final任意
静态方法与实例方法不能互相重写
任意
构造方法不能被重写
构造方法可以重载,任意
http://
一句话描述清楚:
重写注解:@Override
重载注解:@Overload
方法的重载是方法名相同,方法返回值和修饰符可以不同,方法的形式参数增加或减少,同名方法根据不同传参来处理不同逻辑
方法的重写是方法名相同,方法返回值相同,修饰符相同.方法的形式参数相同,方法体被重写,方法体中的代码功能有所不同,子类对父类方法重新改造,外部样子不能改变,内部逻辑可以改变
代码示例:
方法重写
public void hello(String name){
System.out.println("你好" + name);
}
//重写了hello方法,方法体中的代码实现的功能已改变
public void hello(String name){
System.out.println("你好,我叫" + name);
}
方法重载
public void hello(String http://name){
System.out.printlnVOLsCLI("你好" + name);
http://}
//形式参数不同,实现的逻辑不同
public void hello(String name,int age){
System.out.println("你好我叫" + name + "今年" + age + "岁");
}
//形式参数不同,实现的逻辑不同,并且方法返回值不同,且修饰符不同
private String hello(String name,int age,String sex){
return "你好我叫" + name + "今年" + age + "岁"+"性别"+sex;
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~