关键字final
1、声明变量,阻止对其内容进行修改:
Java代码
final int FILE_NEW = 1;
final int FILE_NEW = 1;
2、在继承中使用:
a、阻止重写
Java代码
class A {
final void meth() {
System.out.println("The final method.");
}
}
class B extends A {
void meth() { //错误的,无法继承。
System.out.println("Illegal.");
}
}
class A {
final void meth() {
System.out.println("The final method.");
}
}
class B extends A {
void meth() { //错误的,无法继承。
System.out.println("Illegal.");
}
}
声明为final的方法有时候可以提高程序性能。
b、使用final阻止继承
Java代码
final class A {
//...
}
class B extends A { //错误的
//...
}
final class A {
//...
}
class B extends A { //错误的
//...
}
声明一个类为final则隐式的声明了它的所有方法也为final,声明一个类既是abstract又是final是不合法的。
关键字finally
当抛出异常的时候,方法内的程序会采取一种突变的非线性的路线,这样就改变了方法内的正常程序流。根据方法的编码形式,异常可能使方法过早的返回。finally就是用来解决这种意外事件的。 finally创建一个代码块,该代码将在执行完成try/catch块之后执行try/catch块后面的代码之前被执行。无论是否抛出异常,finally块都将执行。如果抛出异常,即使没有catch语句匹配这个异常,finally块也将执行。
方法finalize()
在撤销一个对象的时候,有时候需要完成一些操作。比如:一个对象正持有某些非Java资源,要确保在对象被销毁之前释放这些资源。为处理这种情况Java提供了一种称为结束(finalization)的机制。使用结束,可以定义特殊的动作,这种动作在一个对象要被垃圾收集器收回时执行。要给一个类添加结束器,只需定义finalize()方法。
Java代码
protected void finalize()
{
// finalization code here
}
protected void finalize()
{
// finalization code here
}
离Ubuntu 8.10发布没多长时间了,乍看貌似没给我们留下太深刻的印象。当然,它是个成熟的操作系统,所以肯定会经常更新,但是还有很多东西值得他们去做。
下面是7个最被期待的但没加入这个版本的特性,有望在下个版本加入。
1.更好的用户界面
我们喜欢Ubuntu是因为他拥有者很好的安全性,很低的系统要求。但是想象一下如果有更好的界面,比Windows或者MAC更富有吸引力,更实用并且保持很低的硬件要求的界面。以下是用户自己定制的一些界面,不知道下一个版本能否整合过来呢?
2.统一的硬盘资料库
我们需要一个数据资料存放中心来存放madwifi,核心补丁等。用户只需在这个“控制中心”即可很简单找出他们所需要的文件。对一些编写摄像头驱动,读卡器驱动的人来说,能找到所需的文件的确是个挑战。
3.“开箱即用”
不要预装一些有限制的额外的软件,只需要装大众常用的软件就行,比如播放器等。这些方面可以学学gOS3,他们预装Skype, Wine 和 Picasa等,为初级用户提供了方便。
4.多显示器支持
这个功能是面对高端玩家的,那些需要多显示器来工作的人,这功能是必不可少的。
5.电源管理
在这方面之前的版本也取得不少进展,但是太有限了。需要更加强大的电源管理能力,在笔记本领域这是很值得关注的。
6.音频引擎
ALSA, PulseAudio在Ubuntu只是个没价值的东西,当然想使用5.1声道也只是徒劳。播放MIDI音频时,PulseAudio还有锁住的危险。
7.更多的阅读器选择
对于你来说你最想让Ubuntu改变的是什么,很可能就是阅读器,希望能够对此进行改进。