日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想

發布時間:2024/7/19 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面向對象編程思想

1.面向過程

? 從計算機執行角度出發 ,代碼執行過程核心為從程序的運行過程出發,構建編程思路,例: 哥德巴赫猜想

// 面向過程1 用戶輸入一個數n2 驗證數字的正確性2.1 正確就繼續向下2.2 錯誤就重復輸入3 拆數 ? ?循環 n=a+b4.判斷 a和b同為質數 則打印

2.1對象

計算機中的需求來自現實世界,現實世界是由對象組成。?

對象:萬物皆對象!


對象有屬性和方法:

a.屬性: 對象有什么b.方法: 對象能做什么

2.2 對象間的關系:

1. 繼承關系 ? ?is ? ?a (一般--特殊 ?從屬關系)例:寶馬汽車是汽車2. ?關聯關系 ? ?has ? a (對象的屬性又可以是另一個對象)例:汽車有發動機3. ?依賴關系 ? ?use ? a (一個對象調用另外一個對象的方法)例:司機和汽車

3.面向對象思想

先找到解決問題所需要的對象,再建立對象間的關系, 以及利用對象所形成的過程.

4.計算機如何處理現實中的對象

計算機中的對象: 在計算機中,用一塊特定的存儲空間表示生活中的對象 計算機中的對象之間可以形成生活中對象之間的關系 (繼承 關聯 依賴)

5.類的概念

? 類是數據類型,對象是數據

類: 對象共性的抽象, 是人對對象的認識, 是對象的模板

6.類的屬性(成員變量)【重點】

? 屬性: 是成員變量

1.有默認值 ?數字類型默認值為0 ,boolean類型為false ,字符串類型為null 2.作用范圍: 全類內部 3.成員變量可以和局部變量同名,同名時局部變量優先

成員變量和局部變量在內存中不一樣?

7.類的方法

?java中沒有函數的概念,函數是面向過程開發中的東西,在java中只有方法的概念。聲明(5個部分組成): 修飾符(順序無關緊要) 返回值類型 方法名 (形式參數表) 拋出的異常--->聲明代表對象具有什么功能 ?實現: {} 代表對象怎么做

8.方法重載【重要】

方法重載 : 讓對象方法由于參數表的不同所造成的差異,對用戶屏蔽由編譯器根據實參來匹配相應的方法 (編譯時多態)方法重載: 方法名相同,參數表不同. 對返回值不做要求 參數表不同: 參數個數不同,參數類型不同,參數類型排列不同 ? (如果只有形參名不同,不算重載)

9.構造方法

? 注:如果一個類中沒有定義任何構造方法,則系統提供默認公開無參構造方法

構造方法: 特殊的方法 構造方法特點: 1.沒有返回值類型 區分構造方法和普通方法的唯一標志 2.方法名必須和類名相同 3.不允許直接調用, 在對象構造的過程中自動調用一次對象構造的三個步驟:(沒有繼承的情況)? 1. 分配空間 ? ? ? 屬性被賦予默認值 ----> 根據對象的屬性分配空間,不同對象所占的空間大小不同。 2. 初始化屬性 ? ? 屬性被賦予初始值 3. 調用構造方法 ? 屬性通常被再次賦值 class Student{//1. 分配空間 屬性被賦予默認值:name被賦值為null,age被賦值為0,score被賦值為0.0String name;int age = 10;//2. 初始化屬性 屬性被賦予初始值:age被賦值為10double score;public Student(){age = 20;//3. 調用構造方法 ? 屬性通常被再次賦值}public Student(String n , int a , double s){name = n;age = a;score = s;} }

10.new 創建對象

?a.創建對象: 類名 引用名 = new 類名(構造參數) ?b.訪問對象的屬性或調用對象的方法: ? 引用名.屬性 ? 引用名.方法() c.引用中存儲對象的地址。 null表示空指針, 引用沒有指向任何對象

11.Java中變量的數據類型

?? ? ? Java中的變量按照數據類型劃分,分為兩種

? ? ? ? 1.基本變量類型 : 存數值

? ? ? ? 2.引用類型(除了 8 種基本類型之外) : 存對象的地址

12.方法參數傳遞

參數傳遞: 基本類型參數傳值, 對象類型參數傳地址 (形參和實參指向同一對象) //基本類型參數傳值 public class TestReference{public static void main(String[] args){int a = 10;int b = a; b++;//b的值變成11System.out.println(a); //10changeInt(a);System.out.println(a); //10 } static void changeInt(int a){a++;//changeInt()方法中的a變成11,但是沒有返回給方法調用處,并沒把方法返回值賦值給原來的a} } //對象類型參數傳地址 public class TestReference{public static void main(String[] args){MyClass mc ?= new MyClass();MyClass mc2 = mc;//mc是一個引用,這句代碼把mc的引用復制給mc2,意思是mc和mc2指向的是同一個對象mc2.value++;System.out.println(mc.value); //21MyClass mc = new MyClass();/*首先,在主方法中,調用了 changeValue()方法,并且把 mc 作為實參,傳遞給形參 mc。要注意的是,由于 mc 是一個引用,保存的是一個對象的地址,因此進行傳遞時,傳遞給 mc的值就是一個對象的地址。這樣,實參 mc 引用和形參 mc 引用中保存的內存地址相同,也就是說,這兩個引用指向同一個對象。 */changeValue(mc);System.out.println(mc.value); //21} static void changeValue(MyClass mc){mc.value++;} } class MyClass{int value = 20; }

13.this關鍵字

作用:

  • 引用 表示當前對象, 在類中訪問自己的屬性和方法時,如果不加引用,引用默認為 this.用this可以區分成員變量和局部變量

    class Student{String name;int age;public Student() { }public Student(String name, int age) {this.name = name;this.age = age;} }

    ?

  • this(...) 用在構造方法中, 調用本類其他的構造方法 用于構造方法之間相互調用 必須是構造方法的第一條語句

  • class MyClass{int value;public MyClass(){this(10);System.out.println("MyClass()");}public MyClass(int value){this(); //對 this()的調用必須是構造方法的第一個語句this.value = value; //對 this.的調用位置沒有限制} }

    ?

    轉載于:https://www.cnblogs.com/chenpeisong/p/9775219.html

    總結

    以上是生活随笔為你收集整理的CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。