- 浏览: 176191 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. 重载(Overload)
2. 重写(Override)
3. 对比(Override)
重载(Overload)是在一个类里面,方法名字相同,而参数不同。 返回类型可以相同也可以不同。每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。最常用的地方就是构造器的重载。 1. 被重载的方法必须改变参数列表(参数个数或类型不一样); 2. 被重载的方法可以改变返回类型; 3. 被重载的方法可以改变访问修饰符; 4. 被重载的方法可以声明新的或更广的检查异常; 5. 方法能够在同一个类中或者在一个子类中被重载; 6. 无法以返回值类型作为重载函数的区分标准; public class OverloadTest{ public int add(int a ,int b){ return a + b; } public int add(int a, int b, int c){ System.out.println(add(a, b)); return a + b + c; } public static void main(String[] args){ OverloadTest test = new OverloadTest(); int result = test.add(1, 2); int result2 = test.add(1, 2, 3); System.out.println(result); System.out.println(result2); } }
2. 重写(Override)
重写(Override)是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。 重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法,当需要在子类中调用父类的被重写方法时要使用super关键字。 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。 1. 参数列表必须完全与被重写方法的相同; 2. 返回类型必须完全与被重写方法的返回类型相同; 3. 访问权限不能比父类中被重写的方法的访问权限更低; 4. 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常; 5. 声明为final的方法不能被重写; 6. 声明为static的方法不能被重写,但是能够被再次声明; 7. 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法; 8. 子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法; 9. 父类的成员方法只能被它的子类重写; 10. 构造方法不能被重写; 11. 如果不能继承一个方法,则不能重写这个方法; public class InheritenceTest3{ public static void main(String[] args){ Son son = new Son(); } } class Grandpa{ public Grandpa(){ System.out.println("grandpa"); } } class Father extends Grandpa{ public Father(){ System.out.println("father"); } } class Son extends Father{ public Son(){ System.out.println("son"); } }
3. 对比(Override)
区别点 | 重载Overload | 重写Override |
类个数 | 同一个类 | 多个类(父类与子类) |
参数列表 | 必须修改 | 一定不能修改 |
返回类型 | 可以修改 | 一定不能修改 |
异常 | 可以修改 | 可以减少或删除,一定不能抛出新的或者更广的异常 |
访问 | 可以修改 | 一定不能做更严格的限制(可以降低限制) |
发表评论
-
Java中获取IP地址、子网掩码、网关地址
2019-06-26 10:53 01. Java中获取IP地址、子网掩码、网关地址、ping连通 ... -
Java中ThreadLocal
2019-04-19 10:44 01. Java中ThreadLocal Java中的Th ... -
Java中原子性锁synchronized、Lock
2019-04-18 15:19 01. synchronized依赖JVM 1) 修饰代码 ... -
Java中原子性Atomic
2019-04-18 14:45 01. Atomic包简介 java.util.concu ... -
开发常用链接
2019-03-26 11:21 0在线工具:http://tool.oschina.net/ ... -
java1234学习目录
2019-03-21 11:08 01-01-01 N01 J2SEv2(41课时) ... -
Java中TCP和UDP
2018-10-25 10:55 3171. 网页内容获取 Url1.java impor ... -
Java中Thread线程
2018-10-25 09:38 3551. 实现线程的两种方式 1. 继承Thread类并重写 ... -
Java中serializable序列化
2018-10-24 14:46 4421. 序列化 transient不会被序列化。 imp ... -
Java中CharSet集
2018-10-24 11:31 5001. CharSet集 import java.nio. ... -
Java中RandomAccessFile类
2018-10-24 11:30 4641. RandomAccessFile类 1. 使用Ra ... -
Java中I/O的字符流InputStreamReader和OutputStreamWriter
2018-10-22 09:43 4051. InputStreamReader和OutputStre ... -
Java中其它输入输出流
2018-10-22 09:08 4361. ByteArrayInputStream流 以ar ... -
Java中I/O的OutputStream流
2018-10-22 08:54 4541. Java中I/O的OutputStream流 1. ... -
Java中I/O的InputStream流
2018-10-22 08:42 4331. Java中I/O的InputStream流 1. ... -
Java中I/O的File类
2018-10-19 13:45 4031. Java中I/O的File类 1. 在window ... -
Java中innerClass内部类
2018-10-18 09:37 3991. Java中innerClass内部类 用AA.BB ... -
Java中adapter适配器
2018-10-18 08:36 5441. Java中adapter适配器 适配器adapte ... -
Java中awt包
2018-10-17 11:26 15331. Java中awt包 AWT事件模型Event 1 ... -
Java中frame对象
2018-10-17 10:56 6191. Java中frame对象 1. Frame对象 ...
相关推荐
主要介绍了java 重载(overload)与重写(override)详解及实例的相关资料,并附实例代码,需要的朋友可以参考下
C#中方法的重写(override)和重载(overload)的区别
Java面向对象编程中的重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。 重写(Override)讲解 定义一个名为 Animal 的父类和一个名为 Cat 的...
java
主要介绍了Java重写(Override)与重载(Overload)区别原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
// 对overload测试的文件:OverloadTest.java public class OverloadTest { // 下面几个方法用来验证可以通过定义不同的参数类型和参数的数目进行方法重载。 public void fun(){ System.out.println("method ...
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现,想要了解更多请参考本
override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比...重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态
方法重载与方法重写的区别? 方法重载(Overload):是指方法名字相同,参数的个数、类型、次序不同。 方法重写(Override/Overwrite):是指子类重写了从父类继承过来的方法。 区别:方法重载没有继承、属于一种静态联编...
Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;...
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,...
实现重载(overload)和重写(override) 调用中用到多态,向上转换,强制转换 所有被创建的类,都各自创建两个实现接口 最底层的类中创建内部类,并在外部类中调用内部类的方法
此题涉及方法重载(overload),方法重写(override)以及类派生时方法重写的规则。方法重载的规则是:一、参数列表必须不同,个数的不同 完全可以,如果个数相同则参数类型的不同不能引起歧意,例如int 和long,...
20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? 21、描述一下JVM加载class文件的原理机制? 22、char 型变量中能不能存贮一个中文汉字,为什么? 23、抽象类(abstract class...
一、重载(overload) 指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。 (1)相同的范围(在同一个作用域中) ; (2)函数名字相同; (3)参数不同; (4)virtual 关键字...
先区分一下重载(overload)和重写(override):重载指多个名字相同,但参数不同的函数在同一作用域并存的现象;重写出现在继承中,指子类重定义父类功能的现象,也被称为覆盖。重载中说的参数不同有三种情况:参数个...
方法的重载(overload),构造方法的重载 63 this关键字 65 static 关键字 66 静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, ...
81.UML中,类视图如何表示类中的继承与聚合? 82.客户端游标与服务器端游标的区别? 83.动态游标与静态游标的区别? 84.dotnet由哪几个基本框架组成? 85.Oracle中SGA是什么? 86.web servers是什么? 87.UNIX中QT是...
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,...