1. 程式人生 > >2018年8月9日 面向物件學習筆記

2018年8月9日 面向物件學習筆記

一,多型及多型的表現形式
概念:
一個事物有多種表現形式。
例:狗是狗,也是動物。
物件層面:
1.一個變數只能有一個確定的表現型別;
2.一個引用型別的變數可以指向多個不同型別的物件。
方法層面:
1.是指一個程式中存在同名不同實現的方法。
方法的動態繫結:
具體執行的方法,在編譯時無法確定的。在執行的時候根據物件的動態進行繫結。

二,instanceof
用於判斷指定物件是否是屬於該類;返回的是boolean型別的,如果true是屬於該類物件。證明必須是存在子父類關係才可以使用該關鍵字,否則編譯錯誤。

三,物件強制型別轉換
從小到大,可以自動轉換;從大到小,需要強制轉換;可能會造成精度的丟失,以及資料轉換的異常;
物件型別轉換:
a.子類可以自動轉化為父類;
b.父類需強制轉換成子類;
c.如果沒有繼承關係,那麼轉換會出現編譯異常;
d.轉換的時候可以使用instanceof進行判斷,如果返回true就表示可以進行轉換(避免異常)

四,Object類
超類,是Java中所有類的根類,每個類都使用object作為超類。所有物件都實現這個類的方法;
equals:和==作用一樣,都是用來比較兩個物件引用地址是否相同;

public boolean equals(object obj){ return (this==obj); }

特例:String,File,Date,包裝這幾個物件比較的不是引用地址,而是地址裡面對應的內容是否相同;以為這些類重寫了Object中equals,所以必要的時候也可以重寫equals方法;
toString:
也是Object中的方法,返回值是String型別的值,具體的內容 類名+引用地址;
toString()預設會呼叫
public String toString(){ return
getClass().getName()

[email protected]+Interger.toHexString(hashcode()); }
自己也可以重寫toString(),一般是用來獲取物件的屬性資訊
可以直接使用預設生成:
@override public String toString(){ return
“Dog[name=”+name+”,age=”+age+”]”; }

五,常用關鍵字
1.static靜態
不需要建立物件,依舊可以使用
使用範圍:
修飾全域性變數:通過類名.變數名
修飾成員方法:類名.方法名()
修飾程式碼塊:自動載入的時候執行
static執行順序在使用物件之前,包括呼叫構造方法之前
靜態方法不能直接訪問成員方法,但可以直接訪問靜態方法;
成員方法可以直接訪問成員方法,也可以訪問靜態方法;

相關推薦

201889 面向物件學習筆記

一,多型及多型的表現形式 概念: 一個事物有多種表現形式。 例:狗是狗,也是動物。 物件層面: 1.一個變數只能有一個確定的表現型別; 2.一個引用型別的變數可以指向多個不同型別的物件。 方法層面: 1.是指一個程式中存在同名不同實現的方法。

201889暑假訓練日記

  昨晚上拉肚子到3點,有點虛脫,早上就多休息了會。   果然下午又是籤不了到專場,有剛開始管理員就說這次題比較難,請大家不要慌張。   和安逸凡一塊推了半天的規律,剛驗證完,發現李世冬敲完了,他的是搜尋二進位制補位,我們是轉換成二進位制後發現的和2的冪次相關的規律,結果

2018723軟帝學習筆記

流程控制結構 順序結構:從上往下逐行執行 分支結構:當滿足某個條件時才執行相應的程式碼 迴圈結構:反覆多次執行相應的程式碼 程式碼塊(Code block):用花括號括起來的一條或多條語句 if語句和switch語句 分支結構通過if或switch語句

2018721軟帝學習筆記

   賦值運算子: = 左運算元不能為常量,其運算結果為左值 複合賦值運算子:+=,-=,%=,&=,|= 等 條件運算子:運算元1?運算元2:運算元3 這條語句的意思是若運算元1為真,運算結果為運算元2,否則運算結果為運算元3, ps:它是c語言中唯一的

2018716軟帝學習筆記

環境變數(Environment Variable):系統範圍中具有特別意義的變數 env:列印所有的環境變數 echo $環境變數名:列印指定的環境變數值 export 環境變數名=環境變數值.設定環境變數 在當前終端執行export命令設定的環境變數只對當

201888 面向物件學習筆記

1.封裝 隱藏內部實現細節,提供可訪問的方法或者介面。 2.訪問修飾符 private:本類 預設:本包 本類 protected:本包 本類 子類 public:專案中 3.方法的過載 在同一個類中,方法名相同,方法的引數列表不同,順序,個數

201789學習內容存放 #socket通信介紹

ssh port 綁定 服務端 logs 接收 數據鏈路 三次 hello 2017年8月9日學習內容存放 1 #socket通信介紹 2 3 ‘‘‘ 4 OSI七層 5 6 應用 7 表示 8 會話 9 傳輸 10 網絡 ip 1

在虛擬機中安裝kali linux (201819 15:23:06)---摘選自百度經驗(https://jingyan.baidu.com/article/f00622283a29c0fbd3f0c8ea.html)

get 為我 too a20 med 使用 per 存儲 安裝 在虛擬機中安裝kali linux 在電腦上安裝kali linux已經有很多教程了。這裏介紹在VMware中安裝kali linux .過程跟在電腦上安裝差不多。只是需要一些前期的設置。

201859JAVA-servlet02

127.0.0.1 超過 即使 ddc spa 比較 寫入 方便 void session對象用於在會話範圍內,記錄每個客戶端的訪問狀態,以便於跟蹤每個客戶端的操作狀態,在會話存儲的信息,在瀏覽器發出後續請求時可以獲取這些會話的有效數據。 在jsp頁面中可以直接使用s

青鳥雲題庫201882615:20:28

builder 完全 cto 就是 src sql 不同 查詢 class MyBatis用#引用參數 答:D mapper用來指定查詢sql Mappers元素是告訴MyBatis 去哪尋找映射SQL 的語句。 答:SQlsession不是線程安全的,所以不能

記錄此刻的感受(201882619:44)

不能 自己 悲傷 比較 改變 年輕 自己的 特點 現在 青年人不能太佛系,不能什麽都看得太淡。 什麽都看得比較淡,就沒什麽特別想要的東西,也就沒有特別想要為之奮鬥的目標,那樣平平淡淡的一生我害怕我老了以後會後悔。 後悔年輕的時候沒有去經歷,後悔自己在最好的時光裏面一事無成,

工作總結 2018119

  工作總結 一.完成工作: 完成從145頁到185頁閱讀 (補足昨天chapter9) 完成書中專案編寫以及執行 瞭解MyBatis關聯對映 瞭解MyBatis和Spring的整合 瞭解Spring MVC基本概念   二.明日計劃:

WebStorm2018破解(2018109 16:13實測有效)

我的版本是2018.2.2   選擇破解code 複製下面的code 貼上即可。 AWAC5NN6E4-eyJsaWNlbnNlSWQiOiJBV0FDNU5ONkU0IiwibGljZW5zZWVOYW1lIjoibGIgb2QiLCJhc3NpZ25lZU5hbWUi

2018812暑假週末總結

  這週末去濟南拿藥了,回來已經比較晚了,就和老紀一起去健身了,我覺得現在的精力有些差,導致打比賽的時候不僅打不完全程,晚上大部分時間也是荒廢的,所以決定加強一下。   這周並沒有按照他們看題的方式看題,因為零散的看一些水題效果並不太好,我選擇了看一些新的知識點,然後回頭去

2018822暑假訓練日記

最大流 HDU 3549 Flow Problem:最大流模板題(其實學了圖論之後發現,圖論這方面的知識點模板是直接套用的,怎麼套用是要費腦子的,這裡的模板就是裸著告訴你他就是個最大流) POJ 1273 Drainage Ditches:最大流模板題,這裡就是加了個裸的

2018812訓練總結

每週總結: 這周連做帶看搞了了大約40道題。多校的四場感覺發揮還可以。cf和百度之星打的不怎麼樣。 主要的收穫: 1、複習了樹形、狀壓dp、倍增、RMQ、dfs、manacher、kmp、AC自動機、二分、樹狀陣列線段樹、強連通等知識。對這些基礎知識的簡單應用又熟練了不

201883訓練日記

今天的主要任務是補多校題和看2015年杭電多校的第六套題。 第一次見用樹狀陣列維護乘積。。。不過需要初始化全為1。 然後看了上一場杭電的J題“簽到題”。說是dfs剪枝。結果我剪了半天愣是TLE。。。然後看題解,題解各式各樣,而且看不懂。。。就是列舉每一個小4*4方格轉的次

2018808網站優化工作日誌 天氣(晴)(天陰了,但是沒下雨╥﹏╥)

佟欣工作日誌天氣(小雨) 牙神經發炎,明天是第3天針了,我的手啊。(;´д`)ゞ,牙到是強不少,但是牙齦腫了,漲的呼的,好難受。今天試著以解答者的身份寫了2文章,感覺還不賴(*´▽`)◇ゞ。不過一想到牙,還是“煩” 以下是我今天的任務報告。 1、網站文章更新7

201886筆記(迴圈結構、流程控制、陣列、記憶體初講)

複習: 1. 運算子       算術:               % - 取餘 - 注意結果的正負號               ++/--在變數之前需要先自增後運算;在變數之後先運算後自增;byte/short/char參與運算       賦值:    

指標 2018129

指標 2018年12月9日 以下內容僅供娛樂,歡迎隨時探討,請多指教! 1、編寫程式:完成函式void my_power(double x,int y,double *mypow)的定義,該函式的功能是:求xy(即x的y次方)存入指標變數mypow所指向的存貯單元中,並編寫主程式,驗證my_