乐观 发表于 2015-1-18 11:34:16

了解下JAVA的Java的外部类和匿名类

在1995年5月23日以“Java”的名称正式发布了。
提起Java外部类(InnerClass)大概良多人不太熟习,实践上相似的观点在C++里也有,那就是嵌套类(NestedClass),关于这二者的区分与接洽,鄙人文中会有对照。外部类从外表上看,就是在类中又界说了一个类(下文会看到,外部类能够在良多中央界说),而实践上并没有那末复杂,乍看上往外部相似乎有些过剩,它的用途关于初学者来讲大概并非那末明显,可是跟着对它的深切懂得,你会发明Java的计划者在外部类身上切实其实是用心良苦。学会利用外部类,是把握Java初级编程的一部分,它可让你更文雅地计划你的程序布局。上面从以下几个方面来先容:第一次会晤
publicinterfaceContents{
intvalue();
}

publicinterfaceDestination{
StringreadLabel();
}

publicclassGoods{
privateclassContentimplementsContents{
privateinti=11;
publicintvalue(){
returni;
}
}

protectedclassGDestinationimplementsDestination{
privateStringlabel;
privateGDestination(StringwhereTo){
label=whereTo;
}
publicStringreadLabel(){
returnlabel;
}
}

publicDestinationdest(Strings){
returnnewGDestination(s);
}
publicContentscont(){
returnnewContent();
}
}

classTestGoods{
publicstaticvoidmain(String[]args){
Goodsp=newGoods();
Contentsc=p.cont();
Destinationd=p.dest("Beijing");
}
}
在这个例子里类Content和GDestination被界说在了类Goods外部,而且分离有着protected和private润色符来把持会见级别。Content代表着Goods的内容,而GDestination代表着Goods的目标地。它们分离完成了两个接口Content和Destination。在前面的main办法里,间接用Contentsc和Destinationd举行操纵,你乃至连这两个外部类的名字都没有瞥见!如许,外部类的第一个优点就表现出来了——埋没你不想让他人晓得的操纵,也即封装性。
同时,我们也发明了在内部类感化局限以外失掉外部类对象的第一个办法,那就是使用其内部类的办法创立并前往。上例中的cont()和dest()办法就是这么做的。那末另有没有其余办法呢?固然有,其语法格局以下:outerObject=newouterClass(ConstructorParameters);
outerClass.innerClassinnerObject=outerObject.newInnerClass(ConstructorParameters);
注重在创立非静态外部类对象时,必定要先创立起响应的内部类对象。至于缘故原由,也就引出了我们下一个话题——
非静态外部类对象有着指向其内部类对象的援用
对方才的例子稍作修正:
publicclassGoods{privatevalueRate=2;privateclassContentimplementsContents{privateinti=11*valueRate;publicintvalue(){returni;}}protectedclassGDestinationimplementsDestination{privateStringlabel;privateGDestination(StringwhereTo){label=whereTo;}publicStringreadLabel(){returnlabel;}}publicDestinationdest(Strings){returnnewGDestination(s);}publicContentscont(){returnnewContent();}}
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点

山那边是海 发表于 2015-1-21 10:20:00

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

若天明 发表于 2015-1-24 16:01:03

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

仓酷云 发表于 2015-2-2 08:25:27

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

谁可相欹 发表于 2015-2-7 17:36:31

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

飘飘悠悠 发表于 2015-2-7 18:39:35

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

变相怪杰 发表于 2015-2-10 07:15:36

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

老尸 发表于 2015-2-20 01:48:40

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

蒙在股里 发表于 2015-2-25 21:07:40

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

愤怒的大鸟 发表于 2015-3-5 09:01:28

是一种使网页(Web Page)产生生动活泼画面的语言

深爱那片海 发表于 2015-3-12 02:25:07

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

海妖 发表于 2015-3-19 17:32:50

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

飘灵儿 发表于 2015-3-20 06:30:14

Java是一种计算机编程语言,拥有跨平台、面向对java

第二个灵魂 发表于 2015-4-3 23:28:08

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

精灵巫婆 发表于 2015-4-17 00:05:27

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

admin 发表于 2015-4-23 02:30:22

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

再见西城 发表于 2015-5-4 03:49:38

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

小妖女 发表于 2015-5-5 18:35:16

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

透明 发表于 2015-6-9 04:38:56

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

兰色精灵 发表于 2015-6-20 21:53:41

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
页: [1]
查看完整版本: 了解下JAVA的Java的外部类和匿名类