【转】 Java多态特性:重载和覆写的比较
Java重载:
- 在同一个类中
- 方法具有相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型)
public class MethoDemo{
public static void main(String args[]){
int one = add(10,20) ; // 调用整型的加法操作
float two = add(10.3f,13.3f) ; // 调用浮点数的加法操作
int three = add(10,20,30) ; // 调用有三个参数的加法操作
System.out.println("add(int x,int y)的计算结果:" + one) ;
System.out.println("add(float x,float y)的计算结果:" + two) ;
System.out.println("add(int x,int y,int z)的计算结果:" + three) ;
}
// 定义方法,完成两个数字的相加操作,方法返回一个int型数据
public static int add(int x,int y){
int temp = 0 ; // 方法中的参数,是局部变量
temp = x + y ; // 执行加法计算
return temp ; // 返回计算结果
}
public static int add(int x,int y,int z){
int temp = 0 ; // 方法中的参数,是局部变量
temp = x + y + z ; // 执行加法计算
return temp ; // 返回计算结果
}
// 定义方法,完成两个数字的相加操作,方法的返回值是一个float型数据
public static float add(float x,float y){
float temp = 0 ; // 方法中的参数,是局部变量
temp = x + y ; // 执行加法操作
return temp ; // 返回计算结果
}
};
输出结果:
add(int x,int y)的计算结果:30
add(float x,float y)的计算结果:60
add(int x,int y,int z)的计算结果:23.6
Java覆写:
- 子类覆写父类的方法,在不同的类中
- 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型
- 重写方法不能使用比被重写方法更严格的访问权限
class Person{ // 定义父类
void print(){ // 默认的访问权限
System.out.println("Person --> void print()。") ;
}
};
class Student extends Person{ // 定义继承关系
public void print(){
System.out.println("Student --> void print()。") ;
}
};
public class OverrideDemo{
public static void main(String args[]){
Student s = new Student() ;
s.print() ;
}
};
输出结果:
Student --> void print()。
小结:
java的三大特性:封装,继承,多态.而方法的重载和覆写正是多态的体现.

【转】 Java多态特性:重载和覆写的比较的更多相关文章
- Java多态特性:重载和覆写的比較
Java重载: 在同一个类中 方法具有同样的名字,同样或不同的返回值,但參数不同的多个方法(參数个数或參数类型) public class MethoDemo{ public static void ...
- java重载与覆写
很多同学对于overload和override傻傻分不清楚,建议不要死记硬背概念性的知识,要理解着去记忆. 先给出我的定义: overload(重载):在同一类或者有着继承关系的类中,一组名称相同,参 ...
- C#类的继承,方法的重载和覆写
在网易云课堂上看到唐大仕老师讲解的关于类的继承.方法的重载和覆写的一段代码,注释比较详细,在此记下以加深理解. 小总结: 1.类的继承:允许的实例化方式:Student t=new Student() ...
- c++重载与覆写
重载:指子类改写了父类的方法,覆写:指同一个函数,同样的参数列表,同样的返回值的,但是函数内部的实现过程不同. 重载: 1.方法名必须相同. 2.参数列表必须不相同,与参数列表的顺序无关. 3.返回值 ...
- Java 多态,重载,重写
1.多态(polymorphism): 多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象, ...
- JAVA中继承时方法的重载(overload)与重写/覆写(override)
JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就 ...
- 浅谈Java三大特性之多态
目录 一.前言 二.发生的条件 三.多态包含(或者说体现在)两个方面: 四.示例 感谢阅读 一.前言 这篇讲下三大特性之一的多态,可以通俗得去理解,多种形态,多种姿态... 那么在面向对象的程序设计中 ...
- [你必须知道的.NET]第十七回:貌合神离:覆写和重载
本文将介绍以下内容: 什么是覆写,什么是重载 覆写与重载的区别 覆写与重载在多态特性中的应用 1. 引言 覆写(override)与重载(overload),是成就.NET面向对象多态特性的基本技术之 ...
- Java 覆写初探
Java 覆写 继承性的主要特征是子类可以根据父类已有的功能进行功能扩展,但是在子类定义属性或方法的时候有可能定义属性和方法和父类同名,在此类情况下就称为:“覆写”. 方法的覆写:[改良原本功能不足的 ...
随机推荐
- C#交换两个变量值的多种写法
在学习.Net/C#或者任何一门面向对象语言的初期,大家都写过交换两个变量值,通常是通过临时变量来实现.本篇使用多种方式实现两个变量值的交换. 假设int x =1; int y = 2;现在交换两个 ...
- .net项目中使用Quartz
(1)在web.config中进行相关配置 <configSections> <section name="quartz" type="System.C ...
- [erlang] mnesia
原文地址: http://www.cnblogs.com/bluefrog/archive/2012/05/16/2504625.html 本来是项目合作的,可是你却一而再再而三的使用这招,我处理愤怒 ...
- PostgreSQL学习手册(目录)
原文地址:http://www.cnblogs.com/stephen-liu74/archive/2012/06/08/2315679.html 事实上之前有很长一段时间都在纠结是否有必要好好学习它 ...
- ios测试宏指令出错:“Expected identefier”
写了一个简单的测试宏指令,然后在下面代码中报错,不知道怎么修复?谢谢 #define test(condition) do{\ if (condition) {\ //// <-----Expe ...
- 架构:The Onion Architecture : part 1(洋葱架构:第一篇)(转载)
原文地址:http://jeffreypalermo.com/blog/the-onion-architecture-part-1/. I've spoken several times about ...
- cocos2d-x 3.0 正式版 项目创建
官方示比例如以下: Example: $ cd cocos2d-x $ ./setup.py $ source FILE_TO_SAVE_SYSTEM_VARIABLE $ cocos new Eng ...
- SharePoint 内容编辑器部件介绍
前言 在SharePoint的使用过程中,我们经常会往页面中插入一些东西,这时候很可能就需要内容编辑器部件了.比如:插HTML.插样式.插脚本.插图片,统统都拿来,用内容编辑器部件. 正文 使用内容编 ...
- 执行tsung时报"Maximum number of concurrent users in a single VM reached
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ovcer.blog.51cto.com/1145188/1581326 [roo ...
- Android:客户端和服务器之间传输数据加密
Android客户端与服务器进行数据传输时,一般会涉及到两类数据的加密情况,一类是只有创建者才能知道的数据,比如密码:另一类是其他比较重要的,但是可以逆向解密的数据. 第一类:密码类的数据,为了让用户 ...