MarginLayoutParams與RelativeLayout.LayoutParams 引申出(子類 父類轉(zhuǎn)化) =賦值 static 靜態(tài) 多態(tài)

image.png
image.png
image.png

= 賦值 實(shí)際上已經(jīng) 就是把物理地址賦值給了a1 所以兩個(gè)物理地址是一樣的
a1.p1的變化 a也是會(huì)變化的 a.p1也是=2

這個(gè)在剛學(xué)習(xí)java的時(shí)候 都是學(xué)過的。但是真的設(shè)計(jì)到里面的時(shí)候 就懵逼了务唐。 多虧了能夠想起來旅掂。 和別人一起商量 真的是碰撞火花。腦袋轉(zhuǎn)的快、。

image.png

一樣的結(jié)果

為什么會(huì)有上面的思考树碱。 來看一個(gè)效果肯适。

private ViewGroup.LayoutParams layoutParams;
    private LinearLayout.LayoutParams linearLayoutParams;
    private RelativeLayout.LayoutParams relativeLayoutParams;




  layoutParams = topView.getLayoutParams();
  relativeLayoutParams = (RelativeLayout.LayoutParams) layoutParams;
  int          beginBottomMargin = relativeLayoutParams.bottomMargin;

ViewGroup中沒有bottomMargin成員變量变秦。

image.png

bottomMargin 在MarginLayoutParams中 而他又是基類ViewGroup.LayoutParams的子類。很繞框舔。
并且
RelativeLayout.LayoutParams
public static class LayoutParams extends ViewGroup.MarginLayoutParams {

我們可以分析出 這也就是在有的類中 用ViewGroup當(dāng)做聲明類蹦玫。在具體的代碼中去判斷是哪種類型。然后去轉(zhuǎn)化刘绣。轉(zhuǎn)化別的值樱溉。 實(shí)際上ViewGroup 也已經(jīng)變化了。所以就可以吧ViewGroup當(dāng)做一個(gè)公共類了纬凤。

聲明了一個(gè)對(duì)象福贞。沒有new的話 就沒有分配物理地址。 =的話停士。物理地址一樣挖帘。但是還不是一個(gè)對(duì)象

image.png
image.png

先說明幾點(diǎn) == 比較的是物理地址 。equale() 比較的值

A a = new (1,2)恋技;
A b = new (1,2)拇舀;

a.equlas (b)true , true 兩個(gè)對(duì)象的值 相等 但是物理地址不相等  
a==b false

如果我想 a b 一個(gè)物理地址◎叩祝控制一個(gè)讓屬性變化骄崩。另一個(gè)對(duì)象值就變化。 那么就用
= 應(yīng)為 這是賦值薄辅、要拂。 指向的同一個(gè)物理地址。

如果你想讓ab同一個(gè)值站楚。但是不是一個(gè)物理地址脱惰。 可以用clone 或者直接像上面的一樣。同一個(gè)構(gòu)造源请。 或者用set方法枪芒。






以前判斷值相不相等彻况。if(a==null&a.equlas(b)){}

說道這里 順道說說強(qiáng)制轉(zhuǎn)化
記住一句

父類引用指向子類對(duì)象。

父類A 子類B

A a = new B()舅踪;
= 都是右面指向左面
B是子類 A 是基類 相當(dāng)于 A a指向了B 纽甘, 也就是a這個(gè)對(duì)象指向了B, 或者說明白點(diǎn)B的地址被A指定了
父類引用指向子類對(duì)象 這個(gè)叫向上轉(zhuǎn)型

B aa= (B)a; 這個(gè)就像向下轉(zhuǎn)化

(這個(gè)是有前提的 a 只有是 = newB的時(shí)候 才成立 要不會(huì)報(bào)錯(cuò) 比如 A a = newA()這個(gè)就會(huì)報(bào)錯(cuò) 抽碌, 他不叫 向下轉(zhuǎn)化 )

為什么?

解釋 子類引用不能指向父類對(duì)象

(用飛機(jī)起飛的理解悍赢。就是向上飛沒事。下飛 就會(huì)有問題货徙。 所以 從右到左左权。

#向上轉(zhuǎn)沒問題。 父類 = 子類 方向是從右到左痴颊。 子類到父類 向上了赏迟。沒問題

向下轉(zhuǎn)就會(huì)有問題。)

A a = new B()蠢棱; 這個(gè)是先決條件锌杀, 沒有這句話。 談不上子類父類之間的轉(zhuǎn)化泻仙。
單純的看
A a = new A Bb = new B; B 是子類
a = (A)b糕再; 可以
b= (B)a; 不可以 報(bào)錯(cuò)

1父類引用指向子類對(duì)象,而子類引用不能指向父類對(duì)象

2子類對(duì)象直接賦給父類引用叫upcasting向上轉(zhuǎn)型玉转,向上轉(zhuǎn)型不用強(qiáng)制轉(zhuǎn)換突想。

  如:A a = new B();

3把指向子類對(duì)象的父類引用賦給子類引用叫向下轉(zhuǎn)型(downcasting),要強(qiáng)制轉(zhuǎn)換究抓。

如:f1 就是一個(gè)指向子類對(duì)象的父類引用猾担。把f1賦給子類引用s1即 B b = (B)a;
其中f1前面的(Son)必須加上漩蟆,進(jìn)行強(qiáng)制轉(zhuǎn)換垒探。

(new 這個(gè)叫做Xx的對(duì)象 , 由于有 =號(hào) 怠李。所有 是后面的對(duì)象賦值給前面的某個(gè)類圾叼,從前面看就叫做。父類引用指向子類捺癞。 懂了吧夷蚊。 從前面叫引用。從后面叫做賦值 這就是=號(hào)髓介。)
這個(gè)

3 不理解的 可以 先這么理解惕鼓。因?yàn)閍本身就是new B。 所以 你再賦值給B 沒有問題唐础。
但是A a = new A Bb = new B; 就不可以箱歧。 但是 你的b是子類矾飞。

子類不可以指向父類

在 牢記一個(gè)概念 強(qiáng)轉(zhuǎn)和多態(tài)的區(qū)別

A a =new B(); 多態(tài)
編譯時(shí)期 a 是A類型 運(yùn)行時(shí)期。 就是B類型
a   對(duì)象呀邢。只有B的特性洒沦,A通過子類的實(shí)例化。來實(shí)例化自己价淌。  a就是B類型(B是A得子類)


B b = new B;
A a = (A)b申眼; 向上轉(zhuǎn)化。
 new B 在內(nèi)存中開辟一個(gè)新的地址
b 強(qiáng)轉(zhuǎn)成A蝉衣,  a 就是A類型括尸。

可以寫成
 A a;
a= A(b)


a 指向了B對(duì)象的地址病毡。 a就是A 對(duì)象

一開始搜的百度答案 看的一個(gè)哥們的解釋濒翻。完全懵逼了

多態(tài)過程中。 并沒有轉(zhuǎn)化的過程剪验‰群福看到new的時(shí)候這就是實(shí)例化了一個(gè)B
轉(zhuǎn)過的實(shí)際上有強(qiáng)轉(zhuǎn)的過程。b轉(zhuǎn)化a 就變了A類型功戚。

A a =new B(); 以前不會(huì)這么舉例子。似嗤。 完全懵逼了啸臀。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市烁落,隨后出現(xiàn)的幾起案子乘粒,更是在濱河造成了極大的恐慌,老刑警劉巖伤塌,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灯萍,死亡現(xiàn)場離奇詭異,居然都是意外死亡每聪,警方通過查閱死者的電腦和手機(jī)旦棉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來药薯,“玉大人绑洛,你說我怎么就攤上這事⊥荆” “怎么了真屯?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長穷娱。 經(jīng)常有香客問我绑蔫,道長运沦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任配深,我火速辦了婚禮茶袒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凉馆。我一直安慰自己薪寓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布澜共。 她就那樣靜靜地躺著向叉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗦董。 梳的紋絲不亂的頭發(fā)上母谎,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音京革,去河邊找鬼奇唤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛匹摇,可吹牛的內(nèi)容都是我干的咬扇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼廊勃,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼懈贺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坡垫,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤梭灿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后冰悠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堡妒,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年溉卓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了皮迟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡的诵,死狀恐怖万栅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情西疤,我是刑警寧澤烦粒,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響扰她,放射性物質(zhì)發(fā)生泄漏兽掰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一徒役、第九天 我趴在偏房一處隱蔽的房頂上張望孽尽。 院中可真熱鬧,春花似錦忧勿、人聲如沸杉女。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熏挎。三九已至,卻和暖如春晌砾,著一層夾襖步出監(jiān)牢的瞬間坎拐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工养匈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哼勇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓呕乎,卻偏偏與公主長得像积担,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楣嘁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容