`
只帅一次
  • 浏览: 34342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java编程思想练习题-第5章练习12-finalize方法3

阅读更多

题目:编写名为Tank的类,此类的状态可以是“满的”或“空的”。其终结条件是:对象被清理时必须处于空状态。  请编写finalize()以检验终结条件是否成立,在main()中测试Tank可能发生的几种使用方式。

 

public class Tank{	
	
	public boolean state=false;
	
	public void changeState(boolean state){
		this.state=state;
	}
	
	protected void finalize() throws Throwable{
if(state){
System.out.println("----满的,有问题---------");
throw new Throwable ("状态不为空!");
}else{
System.out.println("----空的,没问题---------");
super.finalize();
}
}
	
	public static void main(String[] args) {
		new Tank();
		System.gc();
		System.runFinalization();
		
		new Tank().changeState(true);
		System.gc();
		System.runFinalization();
	}
	
}

 再次声明finalize方法调用具有不可确定性,最好不要使用。

分享到:
评论

相关推荐

    Thinking in Java 中文第四版+习题答案

    第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 ...

    Java编程思想--外文文献原文及译文(可编辑).doc

    《Java编程思想》是 Bruce Eckel 的经典著作,旨在深入阐述Java编程语言的核心概念和机制。这本书强调了Java作为一门“纯粹”的面向对象语言,与C++相比,它在设计时更加注重对象导向的本质。虽然C++和Java都是混合...

    Java中finalize()的用法

    Java 中的 finalize() 方法是垃圾回收器在回收对象时调用的第一个方法。finalize() 方法相当于析构函数,它是垃圾回收器回收一个对象时第一个要调用的方法。finalize() 方法的主要作用是释放对象占用的系统资源,...

    中文 Java编程思想(完整的中文简体第二版)

    ### 第5章 隐藏实现 - **5.1 封装:库单元** - 介绍了封装的概念,以及如何通过封装来隐藏实现细节。 - 包括创建独一无二的封装名等内容。 这些章节覆盖了Java编程的基础知识,从面向对象的基本概念出发,逐步...

    Java基础知识练习题

    ### Java基础知识练习题详解 #### 1. 无法读取xxx.java 文件 - **问题解析**:如果遇到“无法读取 xxx.java”这样的错误提示,通常意味着文件路径不正确、文件不存在或者没有权限访问该文件。 - **解决方法**: - ...

    java初级练习——适合于初学者练习提高

    通过这些练习,初学者可以逐步熟悉Java的语法特性,掌握面向对象编程的基本思想,同时提升解决问题的能力。每个练习都是对前一知识点的巩固和深化,逐步构建起完整的Java知识体系。在实践中不断学习,初学者将逐渐...

    Java中finalize方法使用.doc

    finalize 方法是 Java 编程语言中一个非常重要的方法,它与 Java 编程中的垃圾回收器有着紧密的关系。当一个对象变成一个垃圾对象的时候,如果此对象的内存被回收,那么就可以调用系统中定义的 finalize 方法来完成...

    Java程序设计练习题及答案.doc

    `super()`和`this()`方法只能在构造函数的第一行调用,用于调用父类的构造函数或本类的另一个构造函数。 15. **方法参数能否为`final`** - **知识点**: 方法参数的`final`修饰。 - **解析**: 错误。方法的参数...

    java 编程思想

    《Java编程思想》是 Bruce Eckel 的经典著作,这本书深入浅出地介绍了Java语言的核心概念和技术,对于初学者和有经验的程序员来说都是极好的学习资源。PDF版使得读者可以随时随地电子阅读,方便快捷。 首先,Java...

    【IT十八掌徐培成】Java基础第26天-03.JVM结构-finalize-gc.zip

    在本课程"【IT十八掌徐培成】Java基础第26天-03.JVM结构-finalize-gc"中,我们将深入探讨JVM的结构、`finalize`方法以及垃圾收集(Garbage Collection,简称GC)机制。以下是这些主题的详细阐述: 1. JVM结构: - ...

    一套JAVA练习题,

    以上就是根据给定的Java练习题解析的相关知识点,涵盖了Java的基本语法、类和对象、文件操作、多线程、GUI编程、垃圾回收以及面向对象编程的核心概念。理解并掌握这些知识点对于学习和使用Java编程至关重要。

    SCJP 经典练习题

    SCJP(Sun Certified ...通过这些经典练习题的解答,考生不仅可以巩固Java编程的基础,还能提高问题解决能力和编程思维。在准备SCJP认证的过程中,考生应系统学习这些知识点,并通过大量练习来加深理解和应用。

    Java禁止使用finalize方法共2页.pdf.zip

    在Java编程语言中,`finalize()`方法是一个特殊的方法,它属于`Object`类,主要用于对象销毁前执行一些必要的清理工作。然而,随着Java版本的更新和垃圾收集机制的改进,`finalize()`方法逐渐失去了其原本的重要性,...

    java练习题2

    Java编程语言练习题详解 1. 是非题 1. **正确**:所谓缺省构造函数就是没有参数的构造函数。Java允许类定义一个无参构造函数,方便实例化对象。 2. **错误**:Java的char数据类型是16位的,它可以表示Unicode字符...

    java练习题库

    ### Java练习题库知识点解析 #### 一、Object类及其方法 **1. Object类概述** - **Object类**: 是所有Java类的根类,它位于`java.lang`包中,提供了许多基本的方法,这些方法可以被其他任何类继承并使用。 - **...

    Java中finalize方法.pdf

    Java中的`finalize()`方法是Java语言提供的一种机制,用于在对象被垃圾回收之前进行资源清理。这个方法在Java的`Object`类中被定义为`protected`类型,因此所有Java类都能够覆盖它来实现特定的清理操作。在垃圾回收...

Global site tag (gtag.js) - Google Analytics