Java語言是一種面向的程式設計語言,而面向對象思想是一種程式設計思想。我們參照面向對象思想使用java語言去設計,開發電腦程式。 除去面向對象之外還有一個面向過程。 區別: 面向過程:當要實現一個功能的時候,面向過程,要處理好每一個節點,直至整個過程結束,然後得到結果。 面向對象:當要實現一個功 ...
Java語言是一種面向的程式設計語言,而面向對象思想是一種程式設計思想。我們參照面向對象思想使用java語言去設計,開發電腦程式。
除去面向對象之外還有一個面向過程。
區別:
- 面向過程:當要實現一個功能的時候,面向過程,要處理好每一個節點,直至整個過程結束,然後得到結果。
- 面向對象:當要實現一個功能的時候,直接去調用一個關於這個功能相關的類,把過程交給其他類來處里,自己等著獲取結果
- 面向過程強調這功能的步驟,面向對象強調這功能的結果。
舉例:
-
-
面向對象:把衣服脫下來-->打開全自動洗衣機-->扔衣服-->按鈕-->晾起來
特點:
什麼是類:
類是對一種具有類似的屬性和行為的事物的集合。eg:學生類,教師類等等。學生有相同的屬性:學生證號,姓名等等,有相同的行為:做作業,寫卷子等等。
現實中:
- 屬性
- 行為:就是該事物能夠做什麼。
什麼是對象:
類與對象的關係:
- 類是對一組事物的統稱描述,類似抽象的,它看不見摸不著 eg: 比如手機類是手機的統稱,它有一系列的屬性比如顏色,配件等等,行為是
- 對象是一組事物的實例,是具體的,是真正存在的可以看得見摸得著 eg: 你買的一個小米9手機是一個實實在在的東西,就屬於一個對象
類的定義:
訪問許可權修飾符 class 類名 {
//成員變數
//成員方法
}
對象的定義:類名 對象名 = new 類名();
類與對象的練習:
public class OverloadDome03 { // 定義一個求和 工具類 /* 定義sum方法兩個sum(int,int) 並返回值*/ public int sum(int a,int b) { return a+b; } /* 定義sum方法兩個sum(int,int,int) 並返回值*/ public int sum(int a,int b,int c) { return a+b+c; } /* 定義sum方法兩個sum(double,double) 並返回值*/ public double sum(double a,double b) { return a+b; } /* 定義sum方法兩個sum(int,double) */ public void sum(int a,double b) { System.out.println(a+b); } } public class OverloadDome03Test { /* 求和測試類 */ public static void main(String[] args) { OverloadDome03 ov03 = new OverloadDome03();//實例化OverloadDome03 double sum = ov03.sum(0.0, 1.293); //調用sum(double,double)f方法 並列印 System.out.println(sum); int sum1 = ov03.sum(1,2); //調用sum(int,int)f方法 並列印 System.out.println(sum1); ov03.sum(12,19.22); //調用sum(int,double); int sum2 = ov03.sum(1,2,3); //調用sum(int,int,int)f方法 並列印 System.out.println(sum2); } }
語法:
訪問許可權修飾符 靜態修飾符 返回值類型 方法名(參數類型 參數名,參數類型 參數名...){
執行代碼...
return 返回語句;
}
成員變數和局部變數:
在之前的個工作中,我們學習了怎麼去定義變數,變數又分為成員變數(又叫全局變數)和局部變數。下麵直接說區別吧。
- 位置不同:全局變數定義在類之內,方法之外;局部變數定義在方法之內。
- 作用域不同:全局變數作用於整個類中;局部變數作用於單個方法之中。
- 初始化不同:全局變數可以不用初始化賦值就可以使用;局部變數若要使用必須先初始化然後才能使用。
- 記憶體位置不同:全局變數存儲在堆記憶體,局部變數存儲在棧記憶體。
- 生命周期不同:全局變數隨對象的創建而存在,隨對象的銷毀而消失。局部變數隨方法的調用而創建,方法結束而消失。
下麵簡單的定義一下:
public class VariableDome01 { int j; // 定義一個全局變數j public void test1() { int i = 1; //定義一個局部變數i並賦值i System.out.println(j+i); //假若i沒有賦值將無法使用 } } //測試 public class VariableDome01Test { public static void main(String[] args) { VariableDome01 variableDome01 = new VariableDome01(); variableDome01.j=1; //測試中可以直接給j賦值卻不能為i賦值因為i只作用於VariableDome01中test1方法中 variableDome01.test1(); //調用後列印為2 } }
方法重載:
概念:指在同一個類中,允許存在一個以上的同名方法,只要它們的參數列表不同即可,與修飾符和返回值類型無關。
- 多個方法在同一個類中
- 多個方法具有相同的方法名
- 多個方法的參數不相同,類型不同或者數量不同
- 參數列表:個數不同,數據類型不同,順序不同。
如下有幾個方法,可以看看重載方法有幾個:
public static void method(){} public static void method(int a){} static void method(int a,int b){} public static void method(double a,int b){} public static void method(int a,double b){} public void method(int i,double d){} public void method(){} public static void method(int i,int j){}
我簡略的分析一波=-=我比較菜
個人學習,內容簡略。