「java继承类编程题题库」以下关于继承的叙述正确的是在java中类只允许单一继承

博主:adminadmin 2022-12-10 16:36:10 86

今天给各位分享java继承类编程题题库的知识,其中也会对以下关于继承的叙述正确的是在java中类只允许单一继承进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

(特急)《Java程序设计》理论题库—判断题(要准确答案)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。

摘要:《Java程序员面试指南》第7章异常处理及内存管理,本章讲述的是要想成功地成为一名合格的Java程序员,掌握好异常处理机制是编写大型程序必不可少的基本功。本节为大家介绍异常的处理方式之三:throw。

标签:throw Java 程序员 Java程序员面试指南

Oracle帮您准确洞察各个物流环节

7.4 异常的处理方式之三:throw(1)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。本节主要讲解用throw抛出异常的方式,以及如何由try-catch来接收所抛出的异常。

当一个方法发生异常时可以通过throw关键字来抛出异常,把异常抛给它上一级的调用者,抛出的可以是异常引用,也可以是异常对象,它的语法格式如下:

throw 异常对象名; 或者

throw new 异常类名(); 一条throw语句一旦被执行,程序立即转入相应的异常处理程序段,它后面的语句就不再执行了(这一点类似于return语句),而且它所在的方法也不再返回有意义的值。在一个方法中,throw语句可以有多条,但每一次最多只能执行其中的一条。在一般情况下,throw语句都会写在判断语句块中,以避免每次都执行该语句。

【代码剖析】下面来看一个例子,也许从中你会明白点什么。具体代码如下:

public class catchThows { static int x; public static void main(String argv[]) { double a = Math.random() * 10; if (x 0) System.out.println(a / x); else throw new Exception(); // 抛出异常 } public void setX(int x) { this.x = x; } } 运行结果如图7.1所示。

(点击查看大图)图7.1 运行结果

从上面的运行结果中可以看出,一个方法中如果使用throw来抛出异常,要么自己捕获它,要么声明抛出了一个异常。要声明抛出了异常,需要用throws关键字在方法的头部声明。如果我们将上面的代码修改成下面的代码,那么结果又会怎样呢?

public class catchThows_1 { static int x; public static void main(String argv[]) { new catchThows().setX(0); double a = Math.random() * 10; if (x 0) System.out.println(a / x); else try { throw new Exception();// 抛出异常 } catch (Exception e) { System.out.println("出现异常的原因是:"+e.getMessage()); } } public void setX(int x) { this.x = x; } } 运行结果如下:

出现异常的原因是:null 还有一种抛出异常的方法是让被调用的方法表示它将不处理异常,该异常将被抛出到它的调用方法中。这点是和throws声明异常很相似的,但它们的位置是完全不同的。具体代码如下:

public class catchThows_2 { void findThows() { try { //抛出方法 throw new ArithmeticException(); } catch(ArithmeticException ae) { throw ae; } } public static void main(String args[]) { catchThows ct=new catchThows(); //对方法进行异常处理 try { ct.findThows(); } catch(ArithmeticException ae) { System.out.println("出现异常的原因是:"+ae); } } } 运行结果如下:

出现异常的原因是:java.lang.ArithmeticException

【责任编辑:云霞 TEL:(010)68476606】

回书目 上一节 下一节

上一篇: 7.3 异常的处理方式之二:throws(2) 下一篇: 7.4 异常的处理方式之三:throw(2)

相关文章

·7.5 内存的管理(2)

·7.4 异常的处理方式之三:throw(2)

·17.3 Java高级编程试题(1)

·17.1 Java基础编程试题(6)

·17.1 Java基础编程试题(5)

频道热门

·自己动手写搜索引擎

·1.1.2 编写代码(15分钟)

·1.1.1 准备工作环境(10分钟)

·软件调试的艺术

·WCF编程(第2版)

关于JAVA继承类的一道笔试题

构造函数都是先执行构造 再执行其他的.像你的class X 你去用无参构造器new一个X时,他会先调用你重写的无参构造器,如果自己没写jvm会去调用默认的,默认的无参数构造器是默认就存在的不论你写不写.执行构造函数时他会先执行你构造方法的代码,执行完成后才会去执行其他方法 去生成这个类的属性 执行静态代码块,class X中的 Y b=new Y(); 这段代码你放哪里其实只是声明了一个X的成员变量而已,放哪里执行顺序都是一样的

Java 习题

b

jdk自带工具箱中的javac.exe文件用于编译满足java编程规范的.java文件

c

第2题问的有问题,编译完成后生成的应该是文件,而不是程序,生成的文件名应该根据所编译的文件内的类的命名决定,因此这道题目没法回答,不过行业内的规范是一个java文件中只定义一个公共类,也就是和文件名一样的类,所以实在要选就只能选C了

b

jdk自带工具箱中的java.exe文件用于解释执行满足java编程规范的并且编译完成的.class文件

d

applet小应用程序的执行方式就是appletviewer

网页格式文件,根据题设只能选d

b

所有的java文件编译完成后将生成对应类名定义的字节码文件,该文件不依附与任何操作平台,只要java虚拟机可以运行,都可以正常的执行。

b

JDK

Java开发工具包,Java

Development

Kit

里面有运行环境JRE和开发时所需要的Java类库,以及一些编译调试运行的程序,如java.exe,javac.exe,javaw.exe等。

java的多级继承程序(题目:创建超类cuboid(长方体),其成员有height,width,length和计算机长方体的体积

package zhangyw.test;

/**

* 该类表示立方体,提供了计算体积的方法。

*

* @author Patina

* @since 2011.04.19

*

*/

public class Cuboid {

/** 立方体长 */

private long length;

/** 立方体宽 */

private long width;

/** 立方体高 */

private long height;

/**

* 使用长、宽、高构造Cuboid对象。

*

* @param length

* 立方体长

* @param width

* 立方体宽

* @param height

* 立方体高

*/

public Cuboid(long length, long width, long height) {

this.length = length;

this.width = width;

this.height = height;

}

/**

* 计算立方体的体积

*

* @return 立方体的体积

*/

public double volume() {

return this.length * this.width * this.height;

}

}

java基础面试题有哪些?

下面是10道java基础面试题,后附答案

1.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?

Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。

Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2.“static”关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是static 的方法?

“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。

Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。

3.JDK 和 JRE 的区别是什么?

Java 运行时环境(JRE)是将要执行 Java 程序的 Java 虚拟机。它同时也包含了执行 applet 需要的浏览器插件。Java 开发工具包 (JDK)是完整的 Java 软件开发包,包含了 JRE,编译器和其他的工具(比如:JavaDoc,Java 调试器),可以让开发者开发、编译、执行 Java 应用程序。

4.是否可以在 static 环境中访问非 static 变量?

static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载入的时候,会对 static 变量进行初始化。如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

5.Java 支持的数据类型有哪些?什么是自动拆装箱?

Java 语言支持的 8 中基本数据类型是:

byte

short

int

long

float

double

boolean

char

自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int 转化成 Integer,double 转化成 double,等等。反之就是自动拆箱。

6.Java 支持多继承么?

不支持,Java 不支持多继承。每个类都只能继承一个类,但是可以实现多个接口。

7.Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java 编译器会为这个类创建一个默认的构造函数。

Java 中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。

Java 不支持像 C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java 不会创建默认的复制构造函数。

8.Java 中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

9.接口和抽象类的区别是什么?

Java 提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:

接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

类可以实现很多个接口,但是只能继承一个抽象类

类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

抽象类可以在不提供接口方法实现的情况下实现接口。

Java 接口中声明的变量默认都是 final 的。抽象类可以包含非 final 的变量。

Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是 private, protected 或者是 public。

接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含 main 方法的话是可以被调用的。

10.什么是值传递和引用传递?

对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。

对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

最后祝你面试顺利!

有两道java编程题,因为我是学数据库的,很多java没接触过,求答案

public class Circle {

protected double r;

public Circle(double r){

this.r=r;

}

public Circle(){

this.r=10;

}

public double area(){

double area=0;

double r=this.r;

area=3.14*r*r;

return area;

}

public double perimeter(){

double per=0;

double r=this.r;

per=3.14*2*r;

return per;

}

}

public class PlainCircle extends Circle

{

double cX,cY;

public PlainCircle(double cX,double cY,double r) {

this.r=r;

this.cX=cX;

this.cY=cY;

}

public PlainCircle() {

this.cX=0;

this.cY=0;

this.r=10;

}

public boolean isInside(double x,double y){

if((x-cX)*(x-cX)+(y-cY)*(y-cY)=r*r ){

return true;

}

else

return false;

}

}

关于java继承类编程题题库和以下关于继承的叙述正确的是在java中类只允许单一继承的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-10,除非注明,否则均为首码项目网原创文章,转载请注明出处。