1.简答方法的 OverLoad 和 Override 区别。
时间: 2023-06-16 18:04:01 浏览: 46
方法的 Overload 和 Override 是Java中两种不同的方法重载机制,它们的区别如下:
1. 方法的 Overload 是在同一个类中,方法名相同,参数列表不同;方法的 Override 是在不同类之间,子类重写父类的方法,方法名、参数列表和返回值类型必须相同。
2. 方法的 Overload 是编译时多态(静态绑定),编译器根据方法调用时传递的参数类型和数量来确定调用哪个方法;方法的 Override 是运行时多态(动态绑定),运行时根据对象的实际类型来确定调用哪个方法。
3. 方法的 Overload 可以改变方法的参数类型、数量或者顺序,但不能改变方法的返回值类型和访问修饰符;方法的 Override 必须保持方法的返回值类型和访问修饰符与父类方法一致。
总之,方法的 Overload 是在同一个类中定义多个方法,提高代码的重用性和灵活性;方法的 Override 是在子类中重写父类的方法,实现多态性和扩展性。
相关问题
2. overload和override的区别是什么?
Overload和override都是Java中实现多态的重要手段,其中overload是方法的重载,override是方法的重写。方法的重载是指在一个类中可以定义多个方法名称相同,但参数类型、个数和顺序不同的方法,这些方法称为重载方法;方法的重写则是指子类继承父类后可以对父类中已经有的方法进行重新实现,以适应子类的需要。需要注意的是,要想实现方法的重写,子类中的方法必须与父类中的方法名称、参数类型、返回值类型都完全相同。
overload和override有什么区别
在面向对象编程中,overload和override是两个常见的概念。
overload(重载)指的是在同一个类中定义多个同名但参数个数或类型不同的方法,编译器会根据调用时传入的参数类型或个数来确定调用哪一个方法。重载方法的返回值类型可以相同,也可以不同。
override(重写)指的是子类重写父类中的方法,重写的方法名称、参数列表和返回值类型必须与父类中被重写的方法相同。重写方法的访问修饰符不能低于被重写方法的访问修饰符,即如果被重写方法是public,那么重写方法也必须是public。
区别:
1. overload是在一个类中定义多个同名但参数不同的方法,而override是子类重写父类中的方法。
2. overload方法的返回值类型可以相同,也可以不同,而override方法的返回值类型必须与父类中被重写的方法相同。
3. overload方法的调用是根据调用时传入的参数类型或个数来确定调用哪一个方法,而override方法的调用是根据对象的实际类型来确定调用哪一个方法。
4. overload方法是编译时多态,而override方法是运行时多态。