多态
2015-09-29 20:27
274 查看
多态:一般是指一个程序中同名的不同方法共存的情况。在面向对象的程序中,多态可以表现在很多方面,例如可以通过子类对父类方法的覆盖实现多态,也可以通过一个类中方法的重载实现多态,还可以将子类的对象作为父类的对象实现多态。这里着重分析一下方法覆盖和方法重载。
方法重载:是在一个类中定义同名方法的情况。重载中一般是采用不同的形式参数列表,包括形式参数的个数、类型和顺序的不同,来区分重载的方法。一般这些方法同名的原因是他们最终功能和目的都相同。
public void println(){};
public void println(boolean x){};
public void println(char x){};
public void println(int x){};
public void println(String x){};
public void println(float x){};
这些方法虽然重名,但参数的类型不同,实际的动作也不同,具体调用那个方法是有实际参数值的类型决定的。
方法覆盖:也叫方法重写。是子类对继承父类的方法的重新定义。方法覆盖要求与父类方法中的参数列表相同。
public class a{
public static void main(String[] args){}
public void sum(String s){};
class b extends a(){
public void sum(String s){}
}
}
方法覆盖式子类和父类之间,而方法重载是一个类自身的。
方法重载:是在一个类中定义同名方法的情况。重载中一般是采用不同的形式参数列表,包括形式参数的个数、类型和顺序的不同,来区分重载的方法。一般这些方法同名的原因是他们最终功能和目的都相同。
public void println(){};
public void println(boolean x){};
public void println(char x){};
public void println(int x){};
public void println(String x){};
public void println(float x){};
这些方法虽然重名,但参数的类型不同,实际的动作也不同,具体调用那个方法是有实际参数值的类型决定的。
方法覆盖:也叫方法重写。是子类对继承父类的方法的重新定义。方法覆盖要求与父类方法中的参数列表相同。
public class a{
public static void main(String[] args){}
public void sum(String s){};
class b extends a(){
public void sum(String s){}
}
}
方法覆盖式子类和父类之间,而方法重载是一个类自身的。
相关文章推荐
- Ural 1036 Lucky Tickets
- 别让你的简历15秒后被扔掉的秘籍
- 信息系统项目管理师2015年9月28日作业
- The Pilots Brothers' refrigerator(dfs)
- hdu 5454 Excited Database(线段树)
- 基于zbus的MySQL透明代理(<100行)
- JSP中forward和redirect的区别
- TCP/IP简介,转载自实验楼
- Add and Search Word - Data structure design
- HDU5492 Find a path DP
- 编程之美
- 前端开发工程师应该关注什么?
- 导航地图4_地理编码和反编码
- Arduino debug 实时单步调试.
- DevOps实战:Graphite监控上手指南
- hdu 5491 The Next(ICPC合肥赛)
- 2016华为上机题二(数字频率)
- 设置默认登陆账户
- mysql同一个表和不同表的一列复制到另一列的方法
- Crazy English on the road