lisliefor
发贴: 287
积分: 7
|
于 2006-05-25 11:16
1. 首先,你得明白为什么用到异常处理机制。一般来说,程序编译期是捕捉错误得最佳时刻,不过并非所有得错误都能在编译期被察觉。举个例子: 这样一句代码"Double.valueOf(s).doubleValue();",(s是一个字符串,这是一个将字符串转为duoble型的语句)。如果,你传递给s的是数字字符,那么这个语句可以顺利执行;而如果你传递给s的值中包含非数字字符,那么该语句会抛出一个NumberFormatException。 同样的道理,在你第一个问题中,你首先要明白的是,什么样的语句会有类似的性质,必须放在try{}catch(){}finally{}块中。
2. java.io的包中包含很多classes,File只是其中一个classes,如果你使用"import java.io.*;",无疑会省略很多该包下很多import语句(假定你使用了很多java.io的下classes)。但会给程序带来额外的负担,jvm在执行这个程序之前,会将该包里面所有的classes加载上。
很多方法都回只返回一些特定的对象,f.listfile(),我不知道这个方法回放回什么对象。不过,我想:如果一个返回int类型的方法,让你赋值给一个String类型的参数,那么编译器就不会让你通过。至于System.out.print(x),方法是一组重载函数,x可以为int 、float 、String 、object.......
3. abstract关键字修饰的方法被成为抽象方法(函数),它同样可以声明一个类(抽象类),这是java提供的所谓abstract method机制,它们是一种不完全的函数,只有声明而无本体,只用来表示接口。你无法为该抽象类产生任何对象。 你列出来的两个方法的区别就在于,前者是一个虚壳,它的实现完全由你在继承自该类的子类中重写;后者是一个已经实现的方法,你可以直接产生对象调用。
4. 第四个问题,我讲不清楚,没有仔细研究过。 :)
建议你将所学的概念都理清楚,你的问题让人很困扰,有时候不知道怎么回答!总之,多看书,多CODE,多调试.......
why edited on 2006-05-25 22:22
|