首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【java筑基】浅谈代码复用技术——继承、组合

一、继承 1.1 继承的特点 子类可以获得父类的全部成员变量和方法称为继承,注意子类不能够继承父类的构造器。Java具有单继承的特点,一个类只能够有一个直接父类。所有类都继承了java.lang.Object类。 1.2 重写 子类可以对父类方法进行重写,重写必须遵守两小两同一大,即子类方法返回值的类型要比父类方法返回值类型要更小或者相同(儿子排场要小),子类方法的异常类型要比父类方法的异常类型要更小或者相同(儿子犯的错误要更少),方法名要相同,形参列表要相同,访问权限要比父类访问权限更大或者相同(儿子要搞出点名堂,让别人看见)。特别注意的是子类与父类重写的方法不能一个是属于类,一个是属于对象的。

01

对比java和python

对比java和python    1.难易度而言。python远远简单于java。   2.开发速度。Python远优于java   3.运行速度。java远优于标准python,pypy和cython可以追赶java,但是两者都没有成熟到可以做项目的程度。   4.可用资源。java一抓一大把,python很少很少,尤其是中文资源。   5.稳定程度。python3和2不兼容,造成了一定程度上的混乱以及大批类库失效。java由于有企业在背后支持所以稳定的多。   6.是否开源。python从开始就是完全开源的。Java由sun开发,但现在有GUN的Openjdk可用,所以不用担心。   7.编译还是解释。两者都是解释型。   我理解,C好比手动挡车(编译型语言),java和python(解释型语言)好比自动档车。跑的最快的车都是手动档,但是对开不好的人来说,开自动档反而更快些。   Kno有一篇文章谈到选择编程语言,“先确定你的需求”,不要由语言的简单还是复杂去觉定。只有能够编写你真正认为有用的程式,才能获得满足感,学习才能继续。   那么java和python分别适用于什么样的环境呢。由sourceforge.net可以看出:   最著名,久经考验的普通应用程序,基本都是c++写的。例如emule,7-zip,WinSCP,FileZilla等等等。   一部分由java开发,例如最有名的OpenOffice。   python写的很少,如Pidgin,FireBird。   开发语言(有多少个程式由此语言开发)的排行如下:   # Java46,202   # C++36,895   # PHP30,048   # C28,075   # C#13,476   # Python13,379   # JavaScript11,285   # Perl9,216   # Unix Shell3,869   # Delphi/Kylix3,548   # Visual Basic3,186   # Visual Basic .NET   很多框架和类库也和应用软件一样在这个列表里,因此比较公平。   由此可以看出,java不管在GNU还是商业领域都是应用最广的语言。C主要用于构建系统底层。c++和java用于构建中间应用层。如果资源足够,那么会选择c++开发,以求运行速度,否则会用java开发,以求开发速度。python在各方面都比java优秀,可谓次世代语言。可最受争议的是它的速度,纯python比java慢很多,以及背后没有商业支持,稳定性备受诟病。目前为止,python在商业层次上,主要作为一种胶水语言,粘合其他语言(主要是c/c++)的类库。在GNU领域,主要局限于小规模的应用和个人化应用。以及逆向工程(黑客)应用。   为什么java在服务器端被大量应用,在客户端用的却比较少呢。难道服务器端用到的计算量反而少么。我认为这说明对比c++,java的速度还是可以接受的。无法被接受的是JRE平台,以及JRE平台启动时卡的那一会儿。我就曾经为此认为java写就的程式性能低下。   python用户常常拿来说嘴的一点是:python并不慢,因为python运行时调用了大量c库,而c是很快的。反过来想想,这正反映了其胶水语言的事实,任何一种语言都可以调用c库,这么比较有价值么?假如一个库完全由python,那么它的运行效率...不说也罢。编程不能总是用别人的库啊。

04
领券