A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© darkpiece 中级黑马   /  2014-1-21 20:50  /  1661 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 darkpiece 于 2014-1-21 23:20 编辑

将类标记为final,会不会破坏面向对象的目的?
假如string这个类,假使有人继承过,会不会对预期操作String的程序产生影响?

3 个回复

倒序浏览
本帖最后由 廉伟杰 于 2014-1-21 21:00 编辑

我感觉final修饰的类,不能被继承,应该是对这类有一定的保护作用的,如包装类而你说的重写String类肯定对这个类是有影响的,像
class String{

}
class Demo{
public static void main(String[]  args)
{
String s = “aa”;
}
}
就写一个这种简单的程序就会出错的,因为程序一般有一个就近原则
回复 使用道具 举报
1、面向对象是相对于面积过程而言的,是一种思考的方式。如果一个类被定义为最终类,是说明这个类已经是最终的版本,不能对其再进行修改。这是出于安全性的考虑。也体现了java的面向对象是封装的特性。
2、String是引用类型,如果在子类中对父类同名的字符串进行重写的话,是会产生相应的影响的。
希望能帮到你!
回复 使用道具 举报
原来如此
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马