仓酷云

标题: 了解下JAVA的Java初学者都必需了解的六年夜成绩 [打印本页]

作者: 兰色精灵    时间: 2015-1-18 11:30
标题: 了解下JAVA的Java初学者都必需了解的六年夜成绩
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
关于这个系列里的成绩,每一个学Java的人都应当弄懂。固然,假如只是学Java玩玩就无所谓了。假如你以为本人已超出初学者了,却不很懂这些成绩,请将你本人重回初学者行列。
成绩一:我声了然甚么!
Strings="Helloworld!";
很多人都做过如许的事变,可是,我们究竟声了然甚么?回覆一般是:一个String,内容是“Helloworld!”。如许含混的回覆一般是观点不清的本源。假如要正确的回覆,一半的人也许会回覆毛病。
这个语句声明的是一个指向对象的援用,名为“s”,能够指向范例为String的任何对象,今朝指向"Helloworld!"这个String范例的对象。这就是真正产生的事变。我们并没有声明一个String对象,我们只是声了然一个只能指向String对象的援用变量。以是,假如在方才那句语句前面,假如再运转一句:
Stringstring=s;
我们是声了然别的一个只能指向String对象的援用,名为string,并没有第二个对象发生,string仍是指向本来谁人对象,也就是,和s指向统一个对象。
成绩二:"=="和equals办法事实有甚么区分?
==操纵符专门用来对照变量的值是不是相称。对照好了解的一点是:
inta=10;
intb=10;
则a==b将是true。
但欠好了解的中央是:
Stringa=newString("foo");
Stringb=newString("foo");
则a==b将前往false。
依据前一帖说过,对象变量实际上是一个援用,它们的值是指向对象地点的内存地点,而不是对象自己。a和b都利用了new操纵符,意味着将在内存中发生两个内容为"foo"的字符串,既然是“两个”,它们天然位于分歧的内存地点。a和b的值实际上是两个分歧的内存地点的值,以是利用"=="操纵符,了局会是false。固然,a和b所指的对象,它们的内容都是"foo",应当是“相称”,可是==操纵符其实不触及到对象内容的对照。
对象内容的对照,恰是equals办法做的事。
看一下Object对象的equals办法是怎样完成的:
booleanequals(Objecto){
returnthis==o;
}
Object对象默许利用了==操纵符。以是假如你自创的类没有掩盖equals办法,那你的类利用equals和利用==会失掉一样的了局。一样也能够看出,Object的equals办法没有到达equals办法应当到达的方针:对照两个对象内容是不是相称。由于谜底应当由类的创立者决意,以是Object把这个义务留给了类的创立者。
看一下一个极度的类:
ClassMonster{
privateStringcontent;
...
booleanequals(Objectanother){returntrue;}
}
我掩盖了equals办法。这个完成会招致不管Monster实例内容怎样,它们之间的对照永久前往true。
以是当你是用equals办法判别对象的内容是不是相称,请不要想固然。由于大概你以为相称,而这个类的作者不如许以为,而类的equals办法的完成是由他把握的。假如你必要利用equals办法,大概利用任何基于散列码的汇合(HashSet,HashMap,HashTable),请观察一下javadoc以确认这个类的equals逻辑是怎样完成的。
<p>
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,
作者: 再现理想    时间: 2015-1-21 08:42
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 深爱那片海    时间: 2015-1-26 17:08
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 若相依    时间: 2015-2-4 16:51
是一种使用者不需花费很多时间学习的语言
作者: 老尸    时间: 2015-2-9 22:42
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 透明    时间: 2015-2-13 02:37
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
作者: 分手快乐    时间: 2015-2-14 05:31
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 小女巫    时间: 2015-3-4 04:55
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 变相怪杰    时间: 2015-3-11 04:14
是一种语言,用以产生「小应用程序(Applet(s))
作者: 第二个灵魂    时间: 2015-3-13 04:08
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 再见西城    时间: 2015-3-20 12:10
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 爱飞    时间: 2015-4-10 15:26
是一种为 Internet发展的计算机语言




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