仓酷云

标题: 发布一篇Java编程那些事儿63―多态性 [打印本页]

作者: 海妖    时间: 2015-1-18 11:31
标题: 发布一篇Java编程那些事儿63―多态性
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
8.5.3多态性
多态性是面向对象手艺中最天真的特征,次要是加强项目标可扩大性,进步代码的可保护性。
多态性依附承继特征,能够把多态了解为承继性的扩大大概深切。
在这里把多态性分为两方面来举行先容,对象范例的多态和对象办法的多态。
为了便利后续的解说,起首给出一个承继布局的示例。
//文件名:SuperClass.java
publicclassSuperClass{
 publicvoidtest(){
  System.out.println(“SuperClass”);
 }
}
//文件名:SubbClass1.java
publicclassSubbClass1extendsSuperClass{
 publicvoidtest(){
  System.out.println(“SubbClass1”);
 }
}
//文件名:SubbClass2.java
publicclassSubbClass2extendsSuperClass{
 publicvoidtest(){
  System.out.println(“SubbClass2”);
 }
}
在该示例代码中,SubbClass1和SubbClass2是SuperClass的子类,而且在子类的外部都掩盖父类中的test办法。因为这三个类中都誊写机关办法,则依照默许机关办法的商定,每一个类中城市被主动增加一个默许的机关办法。
8.5.3.1对象范例的多态
对象范例的多态是指声明对象的范例不是对象的真正范例,而对象的真正范例由创立对象时挪用的机关办法举行决意。破例,依照承继性的申明,子类的对象也是父类范例的对象,能够举行间接赋值。
比方以下代码:
SuperClasssc=newSubbClass1();
这里声了然一个SuperClass范例的对象sc,然后利用SuperClass的子类SubbClass1的机关办法举行创立,由于子类范例的对象也是父类范例的对象,以是创立出来的对象能够间接赋值给父类范例的对象sc。除对象的赋值之外,别的一个更主要的常识是sc对象固然利用SuperClass声明的范例,可是外部存储的倒是SubbClass1范例的对象。这个能够Java言语的中instanceof运算符举行判别。
<p>
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。
作者: 因胸联盟    时间: 2015-1-21 09:27
是一种突破用户端机器环境和CPU
作者: 若天明    时间: 2015-1-25 22:19
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 小女巫    时间: 2015-1-26 18:03
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: 兰色精灵    时间: 2015-1-29 17:35
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 再现理想    时间: 2015-2-2 11:27
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 活着的死人    时间: 2015-2-6 03:25
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 不帅    时间: 2015-2-15 09:22
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 飘灵儿    时间: 2015-2-27 01:52
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 若相依    时间: 2015-3-3 10:41
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者: 透明    时间: 2015-3-11 10:04
是一种语言,用以产生「小应用程序(Applet(s))
作者: 小妖女    时间: 2015-3-18 04:07
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 海妖    时间: 2015-3-25 03:11
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 精灵巫婆    时间: 2015-3-30 19:05
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 蒙在股里    时间: 2015-4-16 17:40
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者: 简单生活    时间: 2015-4-20 06:45
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 金色的骷髅    时间: 2015-4-22 07:24
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 愤怒的大鸟    时间: 2015-4-27 10:50
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 飘飘悠悠    时间: 2015-4-30 05:47
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2