入門學(xué)習(xí)java 帶你了解什么是Java面向?qū)ο?/strong>
隨著IT行業(yè)的發(fā)展,軟件工程師這一職業(yè)越來越多地被大家所關(guān)注。Java技術(shù)具有卓越的通用性、高效性、安全性和平臺移植性,它可以跨平臺的應(yīng)用到不同的領(lǐng)域。其中Java面向?qū)ο笫菍W(xué)習(xí)Java必須了解的基礎(chǔ)知識之一。
1、什么是對象?
首先要說明一點,對象不是java獨有的,事實上對象只是一種概念,一種用于解決問題的程序設(shè)計的思想方法。要理解對象就必須得要和面向?qū)ο蠼Y(jié)合起來。在面向?qū)ο笾邪涯骋活愂挛锼灿械膶傩院托袨槌橄蟪鰜碇缶托纬闪艘粋€類。而類的一個實際的例子就叫做對象。所以從上可以看出類和對象之間存在著這樣一種關(guān)系:類是具有共同的屬性名稱和行為的一組對象的抽象,而對象則是一個類的真實的例子。
類是現(xiàn)實世界或思維世界中的實體在計算機(jī)中的反映,它將數(shù)據(jù)以及這些數(shù)據(jù)上的操作封裝在一起。類描述了具有相同特性(數(shù)據(jù)元素、狀態(tài)變量)和行為(對數(shù)據(jù)元素、狀態(tài)變量的操作)的對象集合,如果我需要某個具有一定功能的工具,那么我可自定義這個類,里面有我需要的數(shù)據(jù),還有讓這個類提供的功能。
對象是具有類類型的變量。類和對象是面向?qū)ο缶幊碳夹g(shù)中的**基本的概念。類是對象的抽象,而對象是類的具體實例。類是抽象的,不占用內(nèi)存,而對象是具體的,占用存儲空間。類是用于創(chuàng)建對象的藍(lán)圖,它是一個定義包括在特定類型的對象中的方法和變量的軟件模板。
JAVA是一種面向?qū)ο蟮某绦蛟O(shè)計語言,對象是由類抽象出來的,所有的問題都是**對象來處理,對象可以操作類的屬性和方法來解決問題,所以了解對象的產(chǎn)生、操作和消亡是十分必要的。對象可以認(rèn)為是在一類事物中抽象出某一個特例,**這個特例來處理這類事物出現(xiàn)的問題,在Java語言中**new操作符來創(chuàng)建對象。
2、對象和對象引用
如下表達(dá)式:A a1 = new A;它代表A是類,a1是引用,a1不是對象,new A才是對象,a1引用指向new A這個對象。
在JAVA里,“=”不能被看成是一個賦值語句,它不是在把一個對象賦給另外一個 對象,它的執(zhí)行過程實質(zhì)上是將右邊對象的地址傳給了左邊的引用,使得左邊的引用指向了右邊的對象。JAVA表面上看起來沒有指針,但它的引用其實質(zhì)就是一個指針,引用里面存放的并不是對象,而是該對象的地址,使得該引用指向了對象。
在初始化時,“=”語句左邊的是引用,右邊new出來的是對象。在后面的左右都是引用的“=”語句時,左右的引用同時指向了右邊引用所指向的對象。再所謂實例,其實就是對象的同義詞。
3、Java面向?qū)ο蟮奶匦浴^承性
繼承是面向?qū)ο?*顯著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。Java繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術(shù)使得復(fù)用以前的代碼非常容易,能夠大大縮短開發(fā)周期,降低開發(fā)費用。
繼承是Java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它允許創(chuàng)建分等級層次的類。繼承可以理解為一個對象從另一個對象獲取屬性的過程。
粵嵌提醒大家,在初學(xué)Java的時候,對于對象、類、繼承、數(shù)組等基礎(chǔ)知識一定要去熟悉概念,**好是**實例去理解,可以說如果不熟悉這些概念,后面的學(xué)習(xí)一定會遇到很多難題。與其返回來復(fù)習(xí)花費更多的時間,還不如一開始就掌握。
Java課程體系
JavaEE互聯(lián)網(wǎng)開發(fā)工程師課程體系 | |
課程名稱 | 時間(天) |
Java1.8 XML&JSON | 22 |
Oracle | 4 |
JDBC | 2 |
Java&Oracle&JDBC項目 | 6 |
HTML | 1 |
CSS | 2 |
JavaScript | 1 |
jQuery | 2 |
BootStrap | 2 |
JDBC強(qiáng)化 | 1.5 |
Servlet(貫穿站內(nèi)短消息小項目) | 4.5 |
Jsp(貫穿站內(nèi)短消息小項目) | 2.5 |
Ajax(貫穿站內(nèi)短消息小項目) | 1.5 |
web加強(qiáng) | 1 |
項目管理(svn&maven) | 1 |
Java Web項目 | 6 |
JavaEE高級 | 28 |
合計 | 88天(4個月) |
JavaEE高級課程體系 | |
課程名稱 | 時間(天) |
J2EE基礎(chǔ)加強(qiáng) | 1.5 |
MyBatis | 4 |
Spring4.X | 5 |
Spring整合MyBatis | 0.5 |
Spring MVC | 3 |
Spring SpringMVC MyBatis整合 | 1 |
Redis | 2 |
Linux | 1 |
JavaEE畢業(yè)項目(2~3人一組) 項目中涉及SpringBoot、ActiveMQ、Nginx、Shiro、Zookeeper/Dubbo等主流技術(shù)以增強(qiáng)實戰(zhàn)經(jīng)驗和就業(yè)砝碼 |
10~15 |
合計 | 28 |
一個".java"源文件中是否可以包括多個類(不是內(nèi)部類)?有什么限制?
可以。必須只有一個類名與文件名相同。
垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動通知虛擬機(jī)進(jìn)行垃圾回收
對于GC來說,當(dāng)程序員創(chuàng)建對象時,GC就開始監(jiān)控這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。**這種方式確定哪些對象是"可達(dá)的",哪些對象是"不可達(dá)的"。當(dāng)GC確定一些對象為"不可達(dá)"時,GC就有責(zé)任回收這些內(nèi)存空間??梢?。程序員可以手動執(zhí)行System.gc(),通知GC運(yùn)行,但是Java語言規(guī)范并不保證GC一定會執(zhí)行。
什么是強(qiáng)類型,什么是弱類型?哪種更好些?為什么?
強(qiáng)類型是在編譯的時候就確定類型的數(shù)據(jù),在執(zhí)行時類型不能更改,而弱類型在執(zhí)行的時候才會確定類型。沒有好不好,二者各有好處,強(qiáng)類型安全,因為它事先已經(jīng)確定好了,而且效率高。一般用于編譯型編程語言,如c ,java,c#,pascal等,弱類型相比而言不安全,在運(yùn)行的時候容易出現(xiàn)錯誤,但它靈活,多用于解釋型編程語言,如javascript,vb等
什么是Interface?它與Abstract Class有什么區(qū)別?
接口(Interface)是用來定義行為規(guī)范的,不會有具體實現(xiàn),而抽象類除定義行為規(guī)范外,可以有部分實現(xiàn),但一個類能實現(xiàn)多個接口,但只能繼承一個父類
Java目前前景怎么樣?還能繼續(xù)學(xué)嗎
目前智聯(lián),boss,拉勾網(wǎng)的招聘來看,java的需求量還是排名**,但是這個需求是有前提條件的,就是需要有工作經(jīng)驗,因為你沒有工作經(jīng)驗,公司就會認(rèn)為你沒有開發(fā)項目的能力,自然不會要你,所以你在學(xué)習(xí)中,一定要培養(yǎng)自己的經(jīng)驗,什么是經(jīng)驗?就是多多遇到問題,然后解決問題,這就是解決,也可以成為解決問題的能力。有人說Java飽和了,這是絕對不可能的,只能說你現(xiàn)在競爭大,學(xué)習(xí)的人,質(zhì)量差了而已。所以很多人說找不到工作。其實他自己啥都不會。這只是針對一線城市而言,相對于二三線城市來說對于實際開發(fā)經(jīng)驗是稍微的放松的。
什么叫JIT?什么是NGEN?它們分別有什么限制和好處?
Just In Time 及時編譯,它是在程序**次運(yùn)行的時候才進(jìn)行編譯,而NGEN是所謂的pre-jit,就是說在運(yùn)行前事先就將生成程序集的本機(jī)鏡像,并保存到全局緩存中,適用NGEN可以提高程序集的加載和執(zhí)行速度,因為它可以從本機(jī)映像中還原數(shù)代碼和數(shù)據(jù)結(jié)構(gòu),而不必像jit那樣動態(tài)生成它們。感覺和緩存的道理大同小異。
相關(guān)推薦:
南京JAVA培訓(xùn) 南京JAVA培訓(xùn)班 南京JAVA培訓(xùn)機(jī)構(gòu)
體驗課預(yù)約試聽
倒計時
課程熱線:
客服在線時間:早上9點~下午6點,其他時間請在線預(yù)約報名或留言,謝謝!
免費體驗課開班倒計時
稍后會有專業(yè)老師給您回電,請保持電話暢通