Thinking in Java学习笔记(二)
我个人理解初始化和清理的关系就是吃饭和上厕所,正是有了初始化的对象,我们才能使用清理。但是为什么要清理呢?想象一下一个人光吃不拉,是个什么情况?:)难道我们的程序也要像吃饭一样光产生对象,而不去清理使用完毕的对象?任由我们的对象堆积如山,占用系统资源?
以构造函数确保初始化的进行
什么构造函数?构造函数就是一种特殊的函数,当对象产生时,他会被系统自动的调用起来,并且这个函数名称和class名相同。
class ConstructorTest
{
ConstructorTest()//构造函数是没有返回值的,注意不是void的!
{
System.out.println("nothing!");
}
ConstructorTest(String s)
{
System.out.println(s);
}
public static void main(String args[])
{
new ConstructorTest();//当对象生成的时候,系统会自动的调用他的构造函数
new ConstructorTest("hello"); //并且构造函数还可以接受引数,产生你所希望的特定的对象。假如ConstructorTest(String s)是唯一的构造函数,那么编译器不允许你以任何其他的方式开产生对象
}
}
有的人看到这里就是要问了,为什么我的程序就根本没有定义过构造函数,但是我为什么在创建对象的时候依然可以使用他呢?
例如
class test
{
public static void main(String args[])
{
&nbs
相关文档:
由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节
省服务器的外存空间。
Java 1.1实现了I/O数据流与网络数据流的单一接口,因此数据的压缩、网络传输和解
压缩的实现比较容易,下面介绍利用ZipEntry、ZipInputStream和ZipOutputStream三个Java
类实现zip数据压缩方式的编程方法。 ......
方法重载(overloading method)
方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这就是多态性。 ......
通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task)。
(1)Listener
import
java.util.Timer;
import
javax.servlet.ServletContextEvent;
import
javax.servlet.ServletContextListener;
public
class
MyListener
implements
ServletContextListener {
p ......
package net.java2000.tools;
/**
* Title: Java Bean 工具
* Description:
* Copyright: Copyright (c) 2001
* Company: JAVA世纪网
* @author 赵学庆
* @version 1.0
*/
import java.util.*;
import ......