java里继承的优点和缺点 java里继承的优点和缺点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 继承的缺点来自于继承机制本身,与Java无关。无论如何,单继承对于多继承肯定是利多于弊的。完全理想的设计是根本不用继承,也就是每个类都是final类,只实现接口。 可以为自己定一个原则:能不用继承,就不用。有些时候,用继承来扩展原有类的功能;不过,绝大多数使用继承的时候,仍然可以利用组合,并且经常更好。例如,你想要调用某个工具类FileUtil的方法printFile,它要求传入一个File,而你希望为这个File封装一些特有方法如unzip等以供别的地方使用,这时你可以继承File编写一个JarFile类。此后,你可以把JarFile实例传递给工具类FileUtil的printFile。不过,这不是最好的选择。你的JarFile完全可以不继承File,它内部实例化一个File,然后对外提供unzip方法。你可以再提供一个getFile方法,把内部的File实例发布出来。当你需要调用FileUtil的printFile的时候,可以传入getFile得到的File实例。这样,你的JarFile不会被绑到File上,需要的时候,也许还可以提供InputStream和OutputStream以及其他的类的实例——当然,也不通过继承,而是通过组合。也许例子不是十分恰当,等待楼下的评论。 优点:可以继承父类中定义的成员方法以及成员变量,使得子类可以减少代码的书写。还可以重写父类的方法以增加子类的功能。缺点:会将父类的一些关键方法覆盖,所以建议LZ多看API。 java继承相对C++比较简单,但它与接口结合功能就历史学家强大,而已比较容易理解 意思说要是继承JPanel不如继承JComponent咯? 评论全看完了,学会一个OVER!! 各位好,我是猎头charles,现有上海的JAVA的staff级别的职位,急需7年以上做JAVA技术方面的人才,要求英语流利,JAVA技术精通,最好是不曾转管理方向,B/S架构。此职位乃上海著名全球500强外企在中国首次设立的纯技术职位,望有意者随时与我联系:MSN:[email protected]邮箱:[email protected] 一个有关绘图机制里线程的问题 关于登陆框的问题 Socket 问题,很头痛 用Graphics画图,怎么重绘? 求助帮解决这个问题 执行后hibernate并没有添加修改mysql中的数据,在线请教 通过url将ftp上的文件写入本地时出现了问题 正则表达式的入门文档,关注者有分 我想知道jbuider如何使用 各位大虾,为什么我的Tomcat启动不起来了? 如何用java部分预览doc和ppt文件 在线-等待 shell.getDisplay().asyncExec(new Runnable(){}) 具体是怎么用的啊?为什么我的代码执行老是程序无响应
完全理想的设计是根本不用继承,也就是每个类都是final类,只实现接口。
有些时候,用继承来扩展原有类的功能;不过,绝大多数使用继承的时候,仍然可以利用组合,并且经常更好。
例如,你想要调用某个工具类FileUtil的方法printFile,它要求传入一个File,而你希望为这个File封装一些特有方法如unzip等以供别的地方使用,这时你可以继承File编写一个JarFile类。此后,你可以把JarFile实例传递给工具类FileUtil的printFile。
不过,这不是最好的选择。你的JarFile完全可以不继承File,它内部实例化一个File,然后对外提供unzip方法。你可以再提供一个getFile方法,把内部的File实例发布出来。当你需要调用FileUtil的printFile的时候,可以传入getFile得到的File实例。这样,你的JarFile不会被绑到File上,需要的时候,也许还可以提供InputStream和OutputStream以及其他的类的实例——当然,也不通过继承,而是通过组合。
也许例子不是十分恰当,等待楼下的评论。
缺点:会将父类的一些关键方法覆盖,所以建议LZ多看API。
MSN:[email protected]
邮箱:[email protected]