黑马程序员技术交流社区
标题:
关于final
[打印本页]
作者:
darkpiece
时间:
2014-1-21 20:50
标题:
关于final
本帖最后由 darkpiece 于 2014-1-21 23:20 编辑
将类标记为final,会不会破坏面向对象的目的?
假如string这个类,假使有人继承过,会不会对预期操作String的程序产生影响?
作者:
廉伟杰
时间:
2014-1-21 20:56
本帖最后由 廉伟杰 于 2014-1-21 21:00 编辑
我感觉final修饰的类,不能被继承,应该是对这类有一定的保护作用的,如包装类而你说的重写String类肯定对这个类是有影响的,像
class String{
}
class Demo{
public static void main(String[] args)
{
String s = “aa”;
}
}
就写一个这种简单的程序就会出错的,因为程序一般有一个就近原则
作者:
dapeng111
时间:
2014-1-21 21:22
1、面向对象是相对于面积过程而言的,是一种思考的方式。如果一个类被定义为最终类,是说明这个类已经是最终的版本,不能对其再进行修改。这是出于安全性的考虑。也体现了java的面向对象是封装的特性。
2、String是引用类型,如果在子类中对父类同名的字符串进行重写的话,是会产生相应的影响的。
希望能帮到你!
作者:
darkpiece
时间:
2014-1-21 23:20
原来如此
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2