JAVA學習-------第二週知識點總結
初學物件導向
1、何為物件導向?何為程式導向?
物件導向與程式導向:
程式導向:即一步一步的實現解決問題所需的步驟;
物件導向:將問題分解成各個物件,每一個物件執行對應的解決問題的操作;
這裡舉例:五子棋
以程式導向的思路設計遊戲:
1、開始遊戲-->
2、黑子下棋-->
3、螢幕繪製落點-->
4、判斷輸贏-->
5、白子下棋-->
6、螢幕繪製落點-->
7、判斷輸贏
8、執行步驟2
9、輸出最終結果
以物件導向的思路設計遊戲:
物件1:玩家:棋子數量 棋子落點
物件2:棋盤: 棋盤大小 繪製棋點
物件3:規則:潘墩輸贏 輸出結果
物件導向與程式導向的優缺點:
程式導向
- 優點:效能比物件導向高,因為類呼叫時需要例項化,開銷比較大,比較消耗資源;比如微控制器、嵌入式開發、 Linux/Unix等一般採用程式導向開發,效能是最重要的因素。
- 缺點:沒有物件導向易維護、易複用、易擴充套件
物件導向
- 優點:易維護、易複用、易擴充套件,由於物件導向有封裝、繼承、多型性的特性,可以設計出低耦合的系統,使系統 更加靈活、更加易於維護
- 缺點:效能比程式導向低
因此,應用何種模式設計,應與專案設計的資源消耗,是否需要長期維護、修改等等來選擇模式;
2、何為類?何為物件?
類與物件
類是對現實事物的一種抽象化,具有屬性和行為;
屬性:現實事物的特點:例如年齡,身高,體重等等,在類中用變數表示屬性;
行為:現實事物完成某種過程;例如吃飯、睡覺。在類中用方法來表示行為;
因為類是一種抽象化,故只需定義關鍵的屬性和行為即可;
語法定義
訪問修飾符 class 類名 {
// 屬性:定義在類中的變數
// 行為:定義在類中的方法
}
物件
物件是類的具體實現;因為類是抽象的,在呼叫的過程中我們需要將其具體化,
例如在類狗class Dog{}中,在現實生活中有不同種類的狗,有不同名字的狗;
因此:物件的一些語法使用如下
物件的建立:
類名 物件名 = new 類名();
Dog dog=new Dog();
物件的使用:
訪問屬性:物件名.屬性名
dog.name="小黑";
訪問行為:物件名.行為名()
dog.eat();
3、何為構造方法?方法又如何理解?以及常見的方法?
構造方法
定義
構造方法與類名相同,沒有返回值,連void都不能寫。
構造方法的形參與成員方法的引數一樣,可以沒有引數,也可以有引數。 構造方法可以過載。
功能
初始化物件中的屬性
呼叫
建立物件時會觸發一個構造方法被呼叫,僅觸發一個構造方法被呼叫,具體觸發的是那個構造方法,由建立物件時的引數決定。
預設構造方法:
當一個類中如果一個構造方法都沒有寫,那麼編譯器會為類加上一個預設的構造方法。
預設構造構造方法格式:無參,空方法體。
方法
定義
用於封裝重複程式碼,並做到隨時任意使用,並用名字命名,要實現這種功能時呼叫名字即可;
語法定義
修飾符 返回值型別 方法名(引數,引數,引數....){
方法體;
return 返回值;
}
//修飾符目前可為public static
//返回值型別,可為八大基本型別之一;
//方法名,呼叫時運用的名字;
//引數,分為實參和形參;形參代表方法定義上的,用於接收實際引數的引數。實參代表實際參與運算的引數。
//方法體,方法功能的實現程式碼;
//return 返回值,型別與返回值型別相同,結束方法的執行,並將該值返還給呼叫處;
//引數可有可無,可以有多個,用逗號分隔,無時仍需要括號,小括號內可以留空;
//多個方法的定義順序無關係,定義後未呼叫就不會執行;
方法的呼叫
public static void eat(){
System.out.println("正在吃飯;")
}
public static void main(String[] args){
eat();
}
設計方法的思路
常見的無序陣列排序
其一:選擇排序:一次遍歷後,將最大(最小)的數與第一個數互換,繼續遍歷剩下數,重複操作。
其二:氣泡排序:相鄰元素之間比較,前面比後面大(小)則互換;
其三:快速排序(遞迴思想:程式呼叫自身的程式設計技巧稱為遞迴)(分割法,此處不詳細講)
4、常見的類有哪些?
Java中常見的類有
String :
對字串的一些操作方法,例如獲取長度length();或擷取,或比較等等;
另外,當對字串進行修改的時候,特別是字串物件經常改變的情況下,需要使用 StringBuffer 和 StringBuilder 類。和 String 類不同的是,StringBuffer 和 StringBuilder 類的物件能夠被多次的修改,並且不產生新的未使用物件。
Math:
數學計算中常用的一些記事,例如:如求大值max(i1,i2),求最小值min(i1,i2);冪運算pow(2,3)=2^3;開平方sqrt(9)=3;以及產生範圍[0,1)之間的隨機數Math.random();
Random:
產生隨機數的另一種方法
System:
常用的輸入輸出
Date:
用於封裝時間,使用當前時間初始化新建的Date物件
Calendar:
也是用於操作時間,大部分情況下使用Calender替換Date。
SimpleDateFormat
對Date物件得到的時間進行格式化
Pattern:
一個用正規表示式所訂製的模式來對字串進行匹配工作的類庫包)中的一個類,常用於字串的匹配;
正規表示式:事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。詳細點此網頁
5、何為物件的修飾符?
許可權修飾符
靜態關鍵字static
- 相比較於類中的屬性,亦可成為成員變數;每個類有著他獨立的屬性;而有時候有必要共享一些屬性,這時候的屬性加入修飾符static可以使該屬性成為所有物件的公有屬性,可以修改該屬性的數值;
- 靜態成員:Java中被static修飾過後的成員稱為靜態成員或類成員,他屬於整個類,所有的物件都可以對該變數進行訪問或修改;
- 如何訪問靜態變數?:類名或者物件直接訪問。
靜態關鍵字static
- 相比較於類中的屬性,亦可成為成員變數;每個類有著他獨立的屬性;而有時候有必要共享一些屬性,這時候的屬性加入修飾符static可以使該屬性成為所有物件的公有屬性,可以修改該屬性的數值;
- 靜態成員:Java中被static修飾過後的成員稱為靜態成員或類成員,他屬於整個類,所有的物件都可以對該變數進行訪問或修改;
- 如何訪問靜態變數?:類名或者物件直接訪問。
本週學習到此結束,集合各大網站,如有雷同,純屬意外!!!在此抱歉!!!
相關文章
- 【java學習】java知識點總結Java
- 第十週學習知識總結
- Vue學習知識點總結Vue
- Java 知識點總結Java
- PG知識點學習總結圖
- 【Go學習】Go(Golang)知識點總結Golang
- 零基礎學習Java,全方位知識點總結!Java
- 第二天知識點總結
- Java知識點總結(Java容器-List)Java
- Java知識點總結(Java容器-Vector)Java
- Java知識點總結(Java泛型)Java泛型
- Java知識點總結(Java容器-Set)Java
- Java基礎知識點總結Java
- java面試知識點總結Java面試
- 總結的Java知識點集合Java
- Java 面試知識點總結Java面試
- Core Java 的知識點總結Java
- 架構師課程學習筆記-第二週知識點架構筆記
- java總結第二週Java
- Java類和物件知識點總結Java物件
- Java知識點總結——IO流框架Java框架
- Java集合 - 集合知識點總結概述Java
- 知識點總結
- 學習Java第六週總結Java
- Java基礎面試知識點總結Java面試
- Java知識點總結(註解-介紹)Java
- Java中IO流的知識點總結Java
- 常見Java面試知識點總結Java面試
- 執行緒學習知識總結執行緒
- Java學習---第二週週報Java
- django知識點總結Django
- iOS 知識點總結iOS
- MongoDB知識點總結MongoDB
- HDFS知識點總結
- HBase知識點總結
- jQuery 知識點總結jQuery
- Kafka知識點總結Kafka
- Tomcat 知識點總結Tomcat