仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 717|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA教程之进修条记-Mixin类和多重承继

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:41:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。条记|承继MixinsandIntroductions
良多人说道AOP,都觉得AOP就是截取器,切进点表达式,方面和完成(advices)。实在AOP
不止这些,别的一个很主要的功效在JBOSSAOP内里就是能够通明的给JAVA类传进接口。你
能够强迫一个类完成的接口,乃至你能够附加别的的类(mixins)来完成这个接口。就像C++
内里的多重集成。

引进
起首我们先容怎样强迫现有的类来完成你但愿它完成的接口。
起首的例子是让一个非可耐久化类完成耐久化才能。这对你将是非常有效的代码。

publicclassPOJO
{
privateStringfield;
}

要使它能够耐久化很复杂。
<introductionclass="POJO">
<interfaces>java.io.Serializable</interfaces>
</introduction>

下面的XML界说让AOP框架晓得你要把Serializable接口使用到你的类中。在这里你能够自在的
增添任何接口到你的类上,只必要增加interfaces元素就能够了。
假如你的类没有完成接口,AOP框架会增添完成的办法给你的类。这些办法会委派给AOP框架,但
必要利用截取器或完成来举行保护,不然NullPointerException会抛出。

MixinItUp
引进接口只是限定你,在完成接口时,假如你的类没有完成,就用外部的截取器或完成来完成。这
个中央就是Mixin要用的中央了。AOP框架同意你界说Mixin类来完成你要完成的接口。这个类的实例化
将在你初次挪用引进接口的办法的时分。

持续我们利用一个Externalizable类来完成java.io.Externalizable这个接口。

publicclassPOJO
{
privateStringfield;
}

要让他完成externalizable很复杂

<introductionclass="POJO">
<mixin>
<interfaces>
java.io.Externalizable
</interfaces>
<class>ExternalizableMixin</class>
<construction>newExternalizableMixin(this)</construction>
</mixin>
</introduction>

和下面一样这里只需求POJO完成一个接口,你本人能够在这里完成你的良多接口。

这里的class元素界说了完成接口externalizable的Mixin类,POJO来完成。
construction元素同意你利用JAVA代码来界说实例化Mixin类的时分你想用的办法。JBOSSAOP
会利用一个字段使实例化的POJO持有你的完成类ExternalizableMixin的句柄。这个字段会利用
你在construction里供应的代码来举行初始化。下面的this指的就是POJO本身的实例。

最初就是你必需完成Mixin类了。
publicclassExternalizableMixinimplementsjava.io.Externalizable
{
POJOpojo;

publicExternalizableMixin(POJOpojo)
{
this.pojo=pojo;
}

publicvoidreadExternal(ObjectInputin)throwsIOException,ClassNotFoundException
{
pojo.stuff2=in.readUTF();
}
publicvoidwriteExternal(ObjectOutputout)throwsIOException
{
out.writeUTF(pojo.stuff2);
}
}

多重承继MultipleInheritance
必要注重的一点就是Mixin使你的JAVA在外部完成了多重集成。固然在内部你不必要间接
在XML内里映照多重集成大概声明绑定,但实践上它使你完成了多年以来C++所具有的长处。
固然多半的专家都否决利用多重集成,但假如得当的利用笼统的Mixin类来完成多重集成
在良多中央对你的计划仍是很有匡助的。



C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
只想知道 该用户已被删除
沙发
发表于 2015-1-21 12:47:38 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
小妖女 该用户已被删除
板凳
发表于 2015-1-27 06:15:29 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
乐观 该用户已被删除
地板
发表于 2015-1-31 15:45:41 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
不帅 该用户已被删除
5#
发表于 2015-2-2 05:19:57 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-4 14:58:13 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
变相怪杰 该用户已被删除
7#
发表于 2015-2-5 21:58:16 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
再现理想 该用户已被删除
8#
 楼主| 发表于 2015-2-6 00:09:40 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
因胸联盟 该用户已被删除
9#
发表于 2015-2-7 09:55:03 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
若相依 该用户已被删除
10#
发表于 2015-2-20 00:55:38 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
飘灵儿 该用户已被删除
11#
发表于 2015-2-28 22:31:46 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
蒙在股里 该用户已被删除
12#
发表于 2015-3-1 23:00:58 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
愤怒的大鸟 该用户已被删除
13#
发表于 2015-3-7 06:17:12 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
再见西城 该用户已被删除
14#
发表于 2015-3-11 19:15:31 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
金色的骷髅 该用户已被删除
15#
发表于 2015-3-15 14:30:00 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
爱飞 该用户已被删除
16#
发表于 2015-3-19 23:29:39 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
分手快乐 该用户已被删除
17#
发表于 2015-3-25 09:32:37 | 只看该作者
是一种为 Internet发展的计算机语言
老尸 该用户已被删除
18#
发表于 2015-3-29 20:46:54 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
小魔女 该用户已被删除
19#
发表于 2015-4-1 05:19:52 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
灵魂腐蚀 该用户已被删除
20#
发表于 2015-4-3 22:03:30 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 12:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表