public class Parent{
public void output()throws NullPointerException{
System.out.println("parent");
}
}
public class Child{
public void output() throws Exception{
System.out.println("child");
}
}
public class OverrideTest {
public static void main(String[] args) {
Parent p = new Child();
p.output();
}
}
public class Parent{
public void output()throws NullPointerException{
System.out.println("parent");
}
}
public class Child{
public void output() throws Exception{
System.out.println("child");
}
}
public class OverrideTest {
public static void main(String[] args) {
Parent p = new Child();
p.output();
}
}
问题:上述程序能编译通过吗?如果不能,请说明理由。如果能编译通过,那么能执行成功吗?如果不能执行成功,请说明理由。如果能执行成功,那么程序执行的结果是什么?
解答:上述程序无法编译通过。
分析:此为考察java中方法重写的要求,由于父类抛出的异常为NullPointerException,而子类抛出的异常为Excetpion, 违背了方法重写,子类中方法抛出的异常范围不能大于父类中方法抛出的异常的范围的原则,所以编译不能通过。
总结:关于java中方法重写(override)的要求:
1、子类中的方法与父类中的方法有相同的返回类型
2、子类中的方法与父类中的方法有相同的方法名称
3、子类中的方法与父类中的方法有相同的参数列表
4、子类中的方法的访问级别不能低于父类中该方法的访问级别(举例:父类方法的级别是protected,那么子类重写该方法,其级别必须是protected或者public,一定和父类的访问级别相同或者更宽,否则编译无法通过)
5、子类中方法抛出的异常范围不能大于父类中方法抛出的异常的范围(子类可以不抛出异常也满足该原则,即是说父类抛出异常,子类不抛出异常,编译通过没问题。)
分享到:
相关推荐
Java作为一门广泛使用的编程语言,其笔试和面试题目往往涵盖了多个核心领域。下面将对这些领域进行深入解析,帮助你更好地准备Java相关的技术面试。 ### 字符串(String) 字符串在Java中是常用的数据结构,面试中...
以下是一些常见的Java面试和笔试题目及其解析: 1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他非公共类(非内部类)的数量不受限制,但需注意每个类必须有自己的命名空间。 2....
在面试和笔试中,Java开发者经常会遇到各种各样的问题,这些题目旨在测试他们的基础知识、编程技能以及对Java特性的理解。以下是一些常见的Java面试和笔试知识点: 1. **Java基础** - **数据类型**:包括基本数据...
关于Java笔试面试题目,通常会包含一系列考察候选人对Java基础知识点、面向对象设计、Java集合框架、异常处理、数据类型、内存管理等方面理解和应用能力的问题。以下是对给定文件内容中所列知识点的详细解释: 1. ...
为了在Java面试中脱颖而出,了解和掌握常见的面试题及答案至关重要。以下是一些关键知识点的详细解析: 1. **super()与 this()的区别** `super()`用于调用父类的构造器,确保子类实例化时父类的初始化;`this()`则...
下面我们将详细探讨这些常见面试笔试题目的关键知识点。 1. **Java语言基础** - **变量与数据类型**:包括基本数据类型(如int, double, char)和引用数据类型(如类,接口,数组)的使用。 - **运算符**:理解...
这份"125条常见的java面试笔试题大汇总"是准备Java面试者的重要资源,涵盖了从基础语法到高级特性的各类问题。下面将根据标题和描述,详细解析其中可能涉及的关键知识点。 1. **基础语法** - 变量类型:包括基本...
Java作为一门广泛使用的...以上是Java面试和笔试中常见的知识点,理解和掌握这些内容对于Java开发者来说至关重要。在实际面试中,面试官可能会深入探讨这些话题,包括但不限于更复杂的并发控制、异常处理、设计模式等。
3. 多态:掌握多态的概念,理解方法的重写(Override)和重载(Overload)。 4. 接口:理解接口的定义、实现和用途,以及默认方法和静态方法的引入。 三、异常处理 1. 异常分类:了解检查异常和运行时异常的区别,...
Java编程语言中的关键字和特性是面试中常见...以上就是Java面试中常见的知识点解析,它们涵盖了语言基础、异常处理、集合框架、多线程、内存管理等多个方面。了解并掌握这些概念对于成为一名优秀的Java程序员至关重要。
Java笔试题经典集锦是针对Java开发者准备的面试和学习资源,主要涵盖了各种典型的编程题目。这份资料旨在帮助应聘者和学习者深入理解Java语言的核心概念、语法特性以及实际问题的解决策略。以下是对这份集锦中可能...
这些知识点涵盖了Java编程的基础概念,如访问修饰符、内部类、运算符、集合框架、异常处理、方法重载和重写等,是Java笔试和面试中常见的问题。理解和掌握这些内容对于成为一名合格的Java开发者至关重要。
### JAVA笔试题精华版知识点解析 #### 一、Float 类型的 SIZE 属性 - **题目背景**: 在给出的示例代码中,通过创建 `Float` 对象并尝试访问其 `SIZE` 属性来理解 `Float` 类的一些基本概念。 - **核心知识点**: - ...
- 在Java中,静态方法不能被重写为非静态方法。这是因为静态方法属于类而不是对象。因此,子类中的`test`方法不能覆盖基类中的静态`test`方法,导致编译错误。 ### 5. 数据类型转换问题 **题目描述:** 程序中...
### 笔试型_J2EE初级技术面试题目详解 #### 1. Classpath与path的使用 Classpath和path是Java开发中常见的环境变量,它们分别用于指定Java编译器和运行时查找类库和可执行文件的路径。Classpath主要用于指向.class...
提前准备常见的面试题目,并结合实际项目经历进行回答,可以有效提升面试成功率。 #### 二、笔试答题技巧与若干问题 - **答题技巧**:理解题目的真正意图是关键。在解答时,首先要确保答案的正确性,然后是简洁性...
Java笔试题集是程序员在求职过程中常常遇到的挑战,涵盖了Java语言的核心概念和技术。下面将对这些题目涉及的知识点进行详细解析。 1. **作用域**:Java中的访问修饰符有public、private、protected和default(不写...