- 浏览: 895939 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
重写方法声明异常的问题
========================================================================================
在讲这个问题之前,先说一下重载与重写.
关于重载怎么区分就不说了,这里只想说明:不仅可以在同一个类中重载多个方法,而且可以在子类中
继续重载.
关于重写,只能是子类中重写父类中的方法.
有的时候父类中某个方法声明抛出某个异常,那么我们在子类中重写这个方法时,如果要抛出异常,不能
比父类中声明的异常大.(小于等于),或者不用抛出异常.
========================================================================================
- package test;
- /**
- * 重写方法时要注意: 声明所抛异常的大小不能大于被重写方法所声明要抛异常的大小
- * @author fhd001
- */
- public class OverWriterTest extends Tr{
- public static void main(String[] args) {
- OverWriterTest o = new OverWriterTest();
- o.aaa();
- }
- /*
- * 这里aaa是一个重写方法,它所声明抛出的异常不能比父类中的大,
- * 或者这里不用抛异常也可以.
- */
- public void aaa()throws NullPointerException{
- super.aaa();
- System.out.println("OverWriterTest--->aaa");
- }
- }
- class Tr{
- public void aaa() throws NullPointerException{
- System.out.println("Tr--->aaa");
- }
- }
package test; /** * 重写方法时要注意: 声明所抛异常的大小不能大于被重写方法所声明要抛异常的大小 * @author fhd001 */ public class OverWriterTest extends Tr{ public static void main(String[] args) { OverWriterTest o = new OverWriterTest(); o.aaa(); } /* * 这里aaa是一个重写方法,它所声明抛出的异常不能比父类中的大, * 或者这里不用抛异常也可以. */ public void aaa()throws NullPointerException{ super.aaa(); System.out.println("OverWriterTest--->aaa"); } } class Tr{ public void aaa() throws NullPointerException{ System.out.println("Tr--->aaa"); } }
Tr--->aaa OverWriterTest--->aaa
转http://fhd001.iteye.com/blog/411891
发表评论
文章已被作者锁定,不允许评论。
-
操作系统的目标和作用
2012-07-05 23:46 1343操作系统的目标 目前存在着多种类型的OS,不同类型的OS ... -
利用(ffmpeg)生成视频缩略图(java)
2012-07-01 01:11 0对于上传视频生成缩略图使用的是ffmpeg进行生成的。 自己在 ... -
对Java多线程技术中所有方法的详细解析
2012-06-06 11:32 793一、run()和start() 这两个 ... -
java乱码
2012-06-06 11:33 975自从接触Java和JSP以来, ... -
学习apache commons-io类库中的文件清除器
2011-07-06 23:26 1456学习apache commons-io 1.4类库中的File ... -
java 正则表达式 过滤html标签
2011-05-24 15:10 5359前段时间开发的时候要读取一篇文章的简介内容(也就是前200个字 ... -
转---Eclipse中web-inf和meta-inf文件夹的信息
2011-05-24 13:08 1140Eclipse中web-inf和meta-inf ... -
logback与Log4J的区别
2011-05-17 23:34 1446Logback和log4j是非常相似 ... -
性能优化
2011-04-14 16:10 1194(1)jdbc性能优化 jdbc程序的性能主要由两个因素决定 ... -
JAVA的Random类(转)
2011-04-12 00:21 917Random类中实现的随机算法是伪随机,也就是有规则的随机。在 ... -
非阻塞的Socket链接
2011-04-10 21:59 898import java.io.IOException; ... -
创建临时文件
2011-04-10 21:55 1098package net.java2000.io; ... -
面向对象设计的基本原则
2011-04-07 10:28 1153摘自:http://soft6.com/tech/6/6501 ... -
proxool
2011-04-02 15:01 867属性列表说明: fatal-sql- ... -
当前Java软件开发中几种认识误区
2011-04-01 10:12 886越来越多人开始使用Java ... -
Java中查看一个方法被调用的层次(Reflection、StackTrace)
2011-04-01 00:53 2045package test; public class Mai ... -
反序列化时恢复transient字段
2011-03-30 13:20 1221我们知道将字段设置为transient,可以避免该自动被序列化 ... -
用socket连接服务器直接发送接收邮件
2011-03-22 17:22 1305首页 新闻 论坛 问答 博客 招聘 更多 ▼ 专栏 &l ... -
利用JavaMail收/发Gmail邮件(SSL)
2011-03-22 17:21 2392Gmail目前已经启用了POP3和SMTP服务,具体情况请看 ... -
Java 反射与内省
2011-03-14 22:08 1079一、java反射机制 JAVA反 ...
相关推荐
本文为您介绍C#中方法的重写的文章,具体方法请看介绍 问题一:什么是重写? “重写”父类方法是修改它的实现方式或者说在...要重写父类的方法,前提是父类中该要被重写的方法必须声明为virtual或者是abstract
如果一个方法不需要访问类的实例变量(非静态字段)或者调用其他非静态方法,那么这个方法可以考虑声明为静态。这样做可以节省内存,因为不需要为每个实例创建方法副本。但是,如果一个方法需要访问实例变量或依赖于...
此外,子类方法的访问修饰符不能比父类更严格,且不能声明为private。`@Override`注解用于明确表示该方法是重写父类的方法,这有助于编译器检查方法签名是否匹配,提高代码的可读性和安全性。 其次,我们要了解**...
- 重写的方法不能抛出更大的异常,除非捕获并重新抛出。 4. **面试题**:面试中可能会遇到关于重写的问题,如询问重写与重载的区别,或者设计一个场景来考察对重写的理解。 四、方法的重写--练习题 为了巩固理解...
3. **虚函数:** 重写的函数必须在基类中声明为虚函数,而重载的函数则无需声明为虚函数。 #### 六、隐藏与重载、重写的区别 1. **范围:** 隐藏发生在不同的类之间,而重载发生在同一个类中。 2. **参数列表:** ...
这篇文章将深入探讨这个问题,帮助开发者理解静态方法调用的机制以及如何正确实现预期的行为。 首先,我们需要明确一个基本概念:在面向对象编程中,重写通常指的是子类能够覆盖父类的非静态(instance)方法,以...
### Java中的方法重载与重写以及线程概念详解 #### 一、方法重载(Overloading) 在Java中,**方法重载**是指在同一个类中定义多个具有相同名称但参数列表不同的方法。这里提到的“参数列表不同”不仅包括参数的...
匿名类是一种特殊的内部类,它可以继承父类的方法也可以重写父类的方法。匿名类的特点是:它可以访问外嵌类中的成员变量和方法,但它的类体中不能声明静态成员变量和静态方法。匿名类一定是内部类,它可以直接使用...
3. **异常处理**:在代码中添加适当的异常处理逻辑,以防万一编码识别失败或转换过程中出现问题。 4. **文档更新**:更新项目的文档,记录下这个改变,以便其他团队成员或未来维护者了解这一改进。 通过这些调整,...
此外,如果你的代码运行在严格模式('use strict')下,直接赋值给未声明的变量(如第二种方法中的`alert`)会抛出错误,因此必须确保全局变量已经声明。 为了尽可能减少潜在的问题,你可以考虑以下几点: 1. **...
这个问题的核心是子类在重写父类方法时抛出异常的规则。通常,我们说子类覆盖父类方法时,抛出的异常不能比父类更"宽泛",这里的"宽泛"指的是异常类型的继承关系。 首先,让我们澄清一下Java中的异常处理概念。Java...
运行时异常是不需要在方法签名中声明的,如`NullPointerException`和`ArrayIndexOutOfBoundsException`,而受检异常如`IOException`和`SQLException`则必须在方法签名中声明或在方法体内进行捕获。 Java异常处理的...
- **多态性**:上转型对象可以调用父类中声明的方法,也可以调用子类重写的同名方法。 - **向下转型**:如果需要访问子类特有的方法或属性,则需要进行向下转型。但是需要注意类型检查,防止运行时出现`...
在这个类中,可能会声明一个初始化方法,用于设置异常处理器,以及一个或多个方法来捕获和处理异常。例如,可能会有一个`+ (void)installExceptionHandler`这样的静态方法,用于注册异常处理程序。此外,还可能有一...
- **虚方法**:在基类中声明为`virtual`的方法,可以在派生类中通过`override`进行重写,从而实现在不同类型的对象上调用同一名称的方法时执行不同的行为。 - **非虚方法**:在类中声明但未标记为`virtual`的方法,...
Java复习题知识点总结 一、Java语言基础 * Java语言使用的字符码集是Unicode(问题1) ...* 如果某个方法中会产生异常,而在当前方法中不想处理该异常,则可以在方法声明时,采用throws关键字来声明该异常(问题12)
遇到上述问题时,应根据需求选择合适的解决方案,例如使用接口、组合、抽象类和抽象方法,以及合理设置访问权限和利用final关键字来控制继承和方法重写。同时,深入理解面向对象设计原则,如单一职责原则(SRP)、开...
`throws`用在方法声明上,表示该方法可能抛出的异常类型,调用者必须处理这些异常或在自己的方法上同样声明。 5. **final、finally、finalize的区别**: - `final`修饰类、变量和方法,阻止继承、重写或改变变量值...
首先,要实现全局异常捕捉,需要定义一个自定义的UncaughtExceptionHandler类,如CatchHandler,该类需要实现UncaughtExceptionHandler接口,并重写其uncaughtException方法。在这个方法中,可以定义当主线程(main)...
关于“重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常”的规则,这是Java的异常处理原则之一,称为“异常兼容性”。根据Java的继承机制,子类方法可以覆盖父类方法,但其异常处理必须“至少一样好”,...