面向?qū)ο蟆裁词敲嫦驅(qū)ο?/h1>
Java的核心思想就是OOP(面向?qū)ο?
面向過程&面向?qū)ο?/h3>
面向過程思想
- 步驟清晰簡單,第一步做什么,第二步做什么(例如:吃飯,先買菜->洗菜->炒菜->吃)
- 面向過程適合處理一些較為簡單的問題
面向?qū)ο笏枷?/span>
- 物以類聚,分類的思維模式,思考問題首先會(huì)解決問題需要哪些分類,然后對(duì)這些分類進(jìn)行單獨(dú)思考。最后,才對(duì)某個(gè)分類下的細(xì)節(jié)進(jìn)行面向過程的思索。(比如:建一座大樓,你要找個(gè)房屋設(shè)計(jì)師去設(shè)計(jì)房屋建造的圖紙,你還要一個(gè)地質(zhì)勘探師去勘測該土地是否適合建筑大樓,你還要找個(gè)施工隊(duì)去進(jìn)行房屋建造等等)
- 面向?qū)ο筮m合處理復(fù)雜的問題,適合處理需要多人協(xié)作的問題!
對(duì)于描述復(fù)雜的事物,為了從宏觀上把握、從整體上合理分析,我們需要使用面向?qū)ο蟮乃悸穪矸治稣麄€(gè)系統(tǒng)。但是,具體到微觀操作,仍然需要面向過程的思路去處理。
對(duì)象+方法=類
什么是面向?qū)ο?/h3>
面向?qū)ο缶幊?Object-Oriented Programming,OOP)
面向?qū)ο缶幊痰谋举|(zhì)就是:以類的方式組織代碼,以對(duì)象的組織(封裝)數(shù)據(jù)。
抽象
三大特性(后面文章里仔細(xì)講解):
- 封裝
- 繼承
- 多態(tài)
從認(rèn)知角度考慮是先有對(duì)象后有類。對(duì)象,是具體的事物。類,是抽象的,是對(duì)對(duì)象的抽象。
從代碼運(yùn)行角度考慮是先有類后有對(duì)象。類是對(duì)象的模板。
每日J(rèn)ava面試題
一、Java反射機(jī)制類
二、反射機(jī)制優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):運(yùn)行期類型的判斷,動(dòng)態(tài)加載類,提高代碼靈活度。
缺點(diǎn):性能瓶頸:反射相對(duì)于一系列解釋操作,通過JVM要做的事情,性能比直接的java代碼要慢很多。
三、利用反射創(chuàng)建對(duì)象?
1.通過一個(gè)全限類名創(chuàng)建一個(gè)對(duì)象
Class.forName("全限類名");例如:com.mysql.jdbc.Driver Driver類已經(jīng)被加載到j(luò)vm中,并且完成了類的初始化工作就行了
類名.class;獲取Class<?>clz對(duì)象
對(duì)象.getClass();
2.獲取構(gòu)造器對(duì)象,通過構(gòu)造器new出一個(gè)對(duì)象
Clazz.getConstructor([String.class])
Con.newInstance([參數(shù)]);
3.通過class對(duì)象創(chuàng)建一個(gè)實(shí)例對(duì)象(就相當(dāng)與new類名()無參構(gòu)造器)
Cls.newInstance();
?本文轉(zhuǎn)載自微信公眾號(hào)「崔九八」,作者「崔九八」,可以通過以下二維碼關(guān)注。
轉(zhuǎn)載本文請(qǐng)聯(lián)系「崔九八」公眾號(hào)。