java方法的重载和覆盖
2014-12-06 00:00
204 查看
摘要: java方法的重载和覆盖
一、覆盖
1.什么是方法覆盖子类中有一个方法和父类的方法一模一样,那么这就是覆盖
比如以上的代码中Stu这个类总有一个叫做eat的类而在Pupil中也有一个。那么在调用Pupil中的eat方法时那么打印出“我能吃一碗饭”。如果Pupil没有覆盖eat那么打印出来的是“我的放量是多少”
2.注意事项
2.1子类方法中的,函数名,返回值,参数要和父类的一样
2.2 子类方法不能缩小父类方法的访问权限
二、重载
为什么需要重载(使代码更简洁)
如果没有重载的话
有了重载我们类可以这样定义
用的时候
注意事项:那么什么样的才算重载呢。
方法名称一定是一样的。
函数的参数类型,个数,顺序。至少有一个不一样。
方法的修饰符可以不一样
方法的返回值可以不一样
如果只是返回参数不一样那么不是重载(会报错)
一、覆盖
1.什么是方法覆盖子类中有一个方法和父类的方法一模一样,那么这就是覆盖
class Stu{//学生类 private String name; private int age; public void eat(){ System.out.println("我的饭量是多少?"); } } class Pupil extends Stu{//小学生 public void eat(){ System.out.println("我能吃一碗饭"); } }
比如以上的代码中Stu这个类总有一个叫做eat的类而在Pupil中也有一个。那么在调用Pupil中的eat方法时那么打印出“我能吃一碗饭”。如果Pupil没有覆盖eat那么打印出来的是“我的放量是多少”
2.注意事项
2.1子类方法中的,函数名,返回值,参数要和父类的一样
2.2 子类方法不能缩小父类方法的访问权限
二、重载
为什么需要重载(使代码更简洁)
class jisuan{ public int add(int a ,int b){//两个整数相加 return a+b; } public int add2(float a,float b){//两个浮点数相加 return (int)(a+b); } }
如果没有重载的话
public class test { public static void main(String [] args){ jisuan j = new jisuan(); j.add(1, 2); j.add2(1.1f, 1.2f); } }
有了重载我们类可以这样定义
class jisuan{ public int add(int a ,int b){//两个整数相加 return a+b; } public int add(float a,float b){//两个浮点数相加 return (int)(a+b); } }
用的时候
public class test { public static void main(String [] args){ jisuan j = new jisuan(); j.add(1, 2); j.add(1.1f, 1.2f); } }
注意事项:那么什么样的才算重载呢。
方法名称一定是一样的。
函数的参数类型,个数,顺序。至少有一个不一样。
方法的修饰符可以不一样
方法的返回值可以不一样
如果只是返回参数不一样那么不是重载(会报错)
相关文章推荐
- Java方法继承、方法重载、方法覆盖小总结
- 【转】Java方法继承、方法重载、方法覆盖小总结
- Java方法继承、方法重载、方法覆盖,多态和super关键字小总结
- Lesson_for_java_day09--继承、实例化、构造方法、覆盖、重载、this关键字、super关键字、全局变量和局部变量
- java-05方法重载、覆盖、参数传递、构造方法
- Java方法继承、方法重载、方法覆盖小总结
- java方法继承,重载,覆盖等小结
- Java方法继承、方法重载、方法覆盖小总结
- java方法的重载、覆盖和隐藏,以及多态的区别
- Java方法继承、方法重载、方法覆盖小总结
- Java方法继承、方法重载、方法覆盖
- 谈《Java中抽象类,抽象方法,重载和覆盖》
- java方法的重载与覆盖的返回值类型 转
- Java方法继承、方法重载、方法覆盖小总结
- Java语言入门教程(十四):Java语言中方法重载与方法覆盖
- 【转】Java方法继承、方法重载、方法覆盖小总结
- 对JAVA的继承,方法的覆盖,重载的认识 以及对象访问方面的探讨
- java方法的重载、覆盖和隐藏,以及多态的区别
- Java编译时类型与运行时类型以及重载和覆盖方法选择
- java方法的重载、覆盖和隐藏