JAVA:重载与重写的区别
来源:互联网 发布:软件测试是什么 编辑:程序博客网 时间:2024/05/30 23:34
单看字面意思的话,其实是很难分清楚什么是重载,什么是重写的。而在使用的时候,也是很难区分的。
在很多面试中也很喜欢考这样的问题,以求面试者知识的掌握程度。
其实在我看来,这两个根本就是两个概念,重载就是根据参数的不同而进行区别同名函数的。重写就是连参数
都是一样的。用一名话概括就是:重载在一个类中,而重写是在两个有继承关系的类中。
示例:
public class OverloadTest
{
int add()
{
return 2 + 3;
}
int add(int i1, int i2)
{
return i1 * i2;
}
public static void main(String[] args)
{
OverloadTest ex = new OverloadTest();
int iTest = ex.add();
System.out.println(iTest);
iTest = ex.add(2, 3);
System.out.println(iTest);
}
}
这个例子说有就是重载。
public class OverridingTest
{
public static void main(String[] args)
{
plus test = new plus();
int iTest = test.add();
System.out.println(iTest);
pluschild text = new pluschild();
iTest = text.add();
System.out.println(iTest);
}
}
class plus
{
int add()
{
return 2 + 3;
}
}
class pluschild extends plus
{
int add()
{
return 2 * 3;
}
}
这个例子说的就是重写。
public class RandomTest
{
public static void main(String[] args)
{
plus test = new plus();
int iTest = test.add();
System.out.println(iTest);
plus text = new pluschild();
iTest = text.add();
System.out.println(iTest);
}
}
class plus
{
int add()
{
return 2 + 3;
}
}
class pluschild extends plus
{
int add()
{
return 2 * 3;
}
}
声明:文中的代码不论简单还是复杂都是经过验证的,正确的代码不存在伪代码,因为自己在学习时碰到伪代码自己也会头疼的。如果以后不得不出现伪代码时,我会标注出来,不会浪费大家的时间的。博客中也许出现情况不周或由于自己理解不透而引起的些许错误。希望大家发现能及时在评论中提出。
- JAVA重写与重载的区别
- java中重写与重载的区别
- JAVA方法重载与重写的区别
- java中重载与重写的区别
- JAVA重写与重载的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- JAVA:重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java中重载与重写的区别
- java重载与重写的区别
- java中重载与重写的区别
- Android系统典型bootloader分析
- 杂记
- 文档注解
- DirectShow camera demo
- wince下实现拷屏保存为bmp,装载jpg格式图片转成bmp格式图片
- JAVA:重载与重写的区别
- wince6下操作IO口
- zookeeper异常处理
- opencv2.30+vs2005安装说明
- VS2005 VC 基与对话框 的程序 常用控件小结
- Winsock 学习笔记(三)Winsock Server Application
- OpenNI结合Unity3D进行体感游戏开发
- 在VC的MFC中使用控件,显示OpenCv取得的视频
- Python正则表达式(一)