java 对象的交互_Java中什么是对象的交互?解释一下交互怎么操作?
其實(shí)并沒有那個(gè)復(fù)雜。java中對(duì)象是什么,你要明白一點(diǎn)就是:
在java中萬物皆對(duì)象
比如,實(shí)體類之間的互相調(diào)用,不想訪問以及訪問其他屬性及其方法等。
不論你是線程,還是異步任務(wù),還是。。。都可以用以下的三種通用方法來進(jìn)行對(duì)象間數(shù)據(jù)的交互。當(dāng)然android相比java有自己獨(dú)特的數(shù)據(jù)交互方式,這些會(huì)在后面的文章中講到,本篇文章意在對(duì)java通用的對(duì)象間的數(shù)據(jù)交互進(jìn)行總結(jié)。
一、通過構(gòu)造函數(shù)傳遞
構(gòu)造函數(shù)很大程度上是方便參數(shù)的傳遞,以達(dá)到在新建對(duì)象的時(shí)候,同時(shí)對(duì)這個(gè)對(duì)象的一些屬性進(jìn)行初始化。我們經(jīng)常需要根據(jù)自己的需要,重載類的構(gòu)造方法。我們可以在對(duì)象初建的時(shí)候把它需要的數(shù)據(jù)傳遞給它,以實(shí)現(xiàn)不同對(duì)象之間數(shù)據(jù)的交互。
二、getXXX與setXXX方法
基于java面向?qū)ο缶幊讨械姆庋b性和安全性的考慮,我們常將類中的成員變量封裝在類內(nèi)部(即使用private修飾他們),這樣就提高了數(shù)據(jù)的安全性,當(dāng)我們想要操作這些成員變量怎么辦呢?我們可以通過兩種方法,第一種即通過public方式的構(gòu)造器(或稱構(gòu)造函數(shù)),也就是方法一講解的內(nèi)容,對(duì)象一實(shí)例化就對(duì)該變量賦值。第二種方法就是通過set和get方法。
我們一般在寫pojo類的時(shí)候,都會(huì)給成員變量設(shè)置相應(yīng)的get和set方法。
其實(shí)get和set的應(yīng)用場(chǎng)景不限于此,我們的思維不能被局限。在android中,activity想得到子線程中的handler,我們就可以給子線程寫一個(gè)getHandler方法,然后在activity中用子線程的對(duì)象調(diào)用getHander方法,就可以得到子線程的handler了。
還有,listview遇到checkbox,我們會(huì)在adapter中建一個(gè)map來存儲(chǔ)checkbox的狀態(tài),在activity中,在全選、取消的按鈕監(jiān)聽方法里,我們就需要取到adapter的map,然后更新map。解決方案就是:在adapter中寫一個(gè)getMap方法。
三、接口回調(diào)
通過接口,實(shí)體把自己的功能抽象給外界調(diào)用。eg:
1、 同一個(gè)應(yīng)用中的前端后端數(shù)據(jù)交互:
Web中一般常用的內(nèi)置對(duì)象:session、request、application
A、 表單的直接提交,
B、 Js異步提交,通常用Ajax提交實(shí)現(xiàn)局部刷新。
2、 不同應(yīng)用中的應(yīng)用設(shè)備和服務(wù)器的數(shù)據(jù)交互:
A、 Webservice接口調(diào)用、數(shù)據(jù)格式(json)。
3、 Java調(diào)用c編寫的動(dòng)態(tài)庫(kù)dll:
JNA調(diào)用動(dòng)態(tài)庫(kù),c語言寫的動(dòng)態(tài)庫(kù).dll可以用Java的jna.jar調(diào)用。
JNI,c調(diào)用Java
學(xué)習(xí)java,我們要有面向?qū)ο蟮乃季S去看待問題,這些問題自然而然的及會(huì)意了
總結(jié)
以上是生活随笔為你收集整理的java 对象的交互_Java中什么是对象的交互?解释一下交互怎么操作?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抖音python课程价格_抖音
- 下一篇: 聚类算法的java实现_聚类算法之BIR