`
yahaitt
  • 浏览: 756501 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

方法重写的几个注意点(override)

 
阅读更多

关于JAVA中的方法重写:

1、子类中的方法与父类中的方法有相同的返回类型,相同的方法名称,相同的参数列表

2、子类中的方法的访问级别不能低于父类中该方法的访问级别(即 方法前的修饰 private protected public 级别从低到高)

3、子类中方法抛出的异常的范围不能大于父类中方法抛出的异常的范围(即 子类可以不抛出异常,或者抛出的异常是父类抛出的异常的子类)

java 代码
  1. package com.test;   
  2.   
  3. public class ExceptionTest {   
  4.   
  5.     public static void main(String[] args) throws Exception {   
  6.         TParent p = new TChild();   
  7.         p.output();//child   
  8.     }   
  9.   
  10. }   
  11.   
  12. class TParent   
  13. {   
  14.     //Exception的范围比子类output()函数抛出的NullPointerException的范围要大   
  15.     public void output() throws Exception   
  16.     {   
  17.         System.out.println("parent");   
  18.     }   
  19. }   
  20.   
  21. class TChild extends TParent   
  22. {   
  23.     //修饰宽度public必须比父类中的级别高或相同(现父类中的是public,此时父类中的可以是private或protected)   
  24.     public void output() throws NullPointerException   
  25.     {   
  26.         System.out.println("child");   
  27.     }   
  28. }   
分享到:
评论

相关推荐

    Java重载和重写的区别--源码实例

    // 下面几个方法用来验证可以通过定义不同的参数类型和参数的数目进行方法重载。 public void fun(){ System.out.println("method fun in OverloadTest, no parameter"); } public void fun(float f) { System...

    restify-method-override:Restify的简单方法覆盖

    我只是想要一些简单的方法来在Restify中提供基于查询的方法重写,但是在研究了几个几乎具有正确解决方案的不同地方之后,我决定快速编写一些实际内容,以节省其他人的搜索。 该模块允许用查询字符串中指定的一种...

    java面试题

    例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,int)); 2、不能通过访问权限、返回类型、抛出的异常进行重载;...

    C++ override关键字使用详解

    C++ override从字面意思上,是覆盖的意思,实际上在C++中它是覆盖了一个方法并且对其重写,从而达到不同的作用。在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在...

    C#制作自定义安装包 .doc

    然后设置这个新对话框的属性,看用几个文本框,并都设上显示的文本及editproperty属性。这里就是给文本框定义个名字,以后可这个名字取到文本框的值。这里我设的就用了一个文本框 editproperty是INDEX。 然后要写...

    java 面对对象编程.pdf.zip

    面向对象基础 面向对象和面向过程的区别 成员变量与局部变量的区别 创建一个对象用什么运算符?对象实体与对象引用有何不同? 对象的相等和引用相等的区别 类的构造方法的作用是什么?...这句话创建了几个

    C++中overload,override,overwrite的区别详细解析

    Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;...

    ios-Swift TableView及上下拉刷新封装.zip

    只需要下面几步就可以完成TableView及上下拉刷新的使用 简单易用(注意:这里只针对单组进行了封装,想要实现多组 重写TableView代理方法即可) 1.继承HWBaseTableViewController 2.注册cell weak var weakSelf = self /...

    net学习笔记及其他代码应用

    创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 38.abstract class和interface有什么区别? 答: 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于...

    java 面试题 总结

    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...

    超级有影响力霸气的Java面试题大全文档

    创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个...

    Java面试题.docx

    方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1). 方法重写(子类...

    C#程序设计试卷.doc

    重写基类的虚方法时,需要同时带上override和virtual修饰符 " "3.如果要定时器控件每一分钟发生一个Tick事件,则InterVal属性应设置为( ) " "A.60 B.600 C.100 D.1000 " "4.用在方法的定义处,以

    c#学习笔记——学习心得

    结构:一种值类型,几个数据组成的数据结构。向方法传递结构时,是通过传值方式传递的,结构实例化可以不用new,结构可以声明构造函数,但必须带参数,且声明的构造函数是用来对成员初始化的,必须包含每个字段。...

    JAVA面试题最全集

    5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle 10.session bean 和 entity bean的区别 11.ejb中的transaction机制 ...

    DragVideo,一种在播放视频时,可以任意拖拽的方案

    关于ViewDragHelper要注意如下几点: ViewDragHelper.Callback是连接ViewDragHelper与view之间的桥梁(这个view一般是指拥子view的容器即parentView); ViewDragHelper的实例是通过静态工厂方法创建的;你能够指定...

    C#基础概念.doc

    13、如果基类中的虚属性只有一个属性访问器,那么继承类重写该属性后可以有几个属性访问器?如果基类中有 get 和 set 两个呢? 14、abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗? 15、接口...

    常见 ASP.NET 概念(开源,说明)

    13.如果基类中的虚属性只有一个属性访问器,那么继承类重写该属性后可以有几个属性访问器?如果基类中有 get 和 set 两个呢? 14.abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗? 15.接口可以...

    c#基础学习问答c#基础学习问答

    13.如果基类中的虚属性只有一个属性访问器,那么继承类重写该属性后可以有几个属性访问器?如果基类中有 get 和 set 两个呢? 14.abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗? 15.接口可以...

Global site tag (gtag.js) - Google Analytics