国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

面對對象(2)

2019-11-07 23:26:33
字體:
來源:轉載
供稿:網友

1:成員變量和局部變量的區別(理解) (1)在類中的位置不同 成員變量:類中方法外 局部變量:方法定義中或者方法聲明上 (2)在內存中的位置不同 成員變量:在堆中 局部變量:在棧中 (3)生命周期不同 成員變量:隨著對象的創建而存在,隨著對象的消失而消失 局部變量:隨著方法的調用而存在,隨著方法的調用完畢而消失 (4)初始化值不同 成員變量:有默認值 局部變量:沒有默認值,必須定義,賦值,然后才能使用

2:類作為形式參數的問題?(理解) (1)如果你看到一個方法需要的參數是一個類名,就應該知道這里實際需要的是一個具體的對象。

3:匿名對象(理解) (1)沒有名字的對象 (2)應用場景 A:調用方法,僅僅只調用一次的時候。 b:可以作為實際參數傳遞。

4:封裝(理解) (1)隱藏實現細節,提供公共的訪問方式 (2)好處: A:隱藏實現細節,提供公共的訪問方式 B:提高代碼的復用性 C:提高代碼的安全性 (3)設計原則 把不想讓外界知道的實現細節給隱藏起來,提供公共的訪問方式 (4)PRivate是封裝的一種體現。 封裝:類,方法,private修飾成員變量

5:private關鍵字(掌握) (1)私有的意義,可以修飾成員變量和成員方法 (2)特點: 被private修飾的后的成員只能在本類中被訪問 (3)private的應用: 以后再寫一個類的時候: 把所有的成員變量給private了 提供對應的getXxx()/setXxx()方法

6:this關鍵字(掌握) (1)代表當前類的引用對象 記住:哪個對象調用方法,該方法內部的this就代表那個對象 (2)this的應用場景: A:解決了局部變量隱藏成員變量的問題 B:其實this還有其他的應用,明天講解。 這里寫圖片描述

7:構造方法(掌握) (1)作用:用于對對象的數據進行初始化 (2)格式: A:方法名和類名相同 B:沒有返回值類型,連void都不能有 C:沒有返回值

思考題:構造方法中可不可以有return語句呢? 可以。而是我們寫成這個樣子就OK了:return; 其實,在任何的void類型的方法的最后你都可以寫上:return;(3)構造方法的注意事項 A:如果我們沒寫構造方法,系統將提供一個默認的無參構造方法 B:如果我們給出了構造方法,系統將不再提供默認構造方法 如果這個時候,我們要使用無參構造方法,就必須自己給出。 推薦:永遠手動自己給出無參構造方法。(4)給成員變量賦值的方式 A:setXxx() B:帶參構造方法(5)標準案例 class Student { private String name; private int age; public Student(){} public Student(String name,int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } 測試: class StudentDemo { public static void main(String[] args) { //方式1 Student s1 = new Student(); s1.setName("林青霞"); s1.setAge(27); System.out.println(s1.getName()+"---"+s1.getAge()); //方式2 Student s2 = new Student("劉意",30); System.out.println(s2.getName()+"---"+s2.getAge()); } }

8:代碼:Student s = new Student();做了哪些事情?(理解) (1)把Student.class文件加載到內存 (2)在棧內存為s開辟空間 (3)在堆內存為學生對象申請空間 (4)給學生的成員變量進行默認初始化。null,0 (5)給學生的成員變量進行顯示初始化。林青霞,27 (6)通過構造方法給成員變量進行初始化。劉意,30 (7)對象構造完畢,把地址賦值給s變量

9:面向對象的練習題(掌握) (1)標準的手機類的定義和測試 (2)Demo類有求和方法,Test類進行測試。 什么時候定義成員變量? 當該變量是用來描述一個類的時候。 (3)長方形案例 (4)員工案例

/* 需求: 定義一個員工類,自己分析出幾個成員, 然后給出成員變量,構造方法,getXxx()/setXxx()方法, 以及一個顯示所有成員信息的方法。并測試。 分析: 員工 成員變量: 員工編號,姓名,年齡 構造方法: 無參構造方法 成員方法: getXxx()/setXxx() show();*/class Employee { //員工編號 private String employeeId; //姓名 private String name; //年齡 private int age; //構造方法 public Employee() {} //getXxx()/setXxx() public String getEmployeeId() { return employeeId; } public void setEmployeeId(String employeeId) { this.employeeId = employeeId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } //顯示所有成員信息的方法 public void show() { System.out.println("員工編號是:"+employeeId+"的這個人是:"+name+"的年齡是:"+age); }}class EmployeeTest { public static void main(String[] args) { //創建對象 Employee e = new Employee(); //給成員變量賦值 e.setEmployeeId("czbk9527"); e.setName("唐伯虎"); e.setAge(18); //獲取數據 //System.out.println(e.getEmployeeId()+"---"+e.getName()+"---"+e.getAge()); //我們在Employee類中定義了一個show方法。所以,我們改進一下,使用show方法 e.show(); }}(5)MyMath案例(自己提供加減乘除并測試)/* 定義一個類MyMath,提供基本的加減乘除功能,然后進行測試。*/import java.util.Scanner;class MyMath { //加法功能 public int add(int a,int b) { return a + b; } //減法功能 public int sub(int a,int b) { return a - b; } //乘法功能 public int mul(int a,int b){ return a * b; } //除法功能 public int div(int a,int b) { return a / b; }}//測試類class MyMathTest { public static void main(String[] args) { //創建鍵盤錄入對象 Scanner sc = new Scanner(System.in); System.out.println("請輸入第一個操作數:"); int firstNumber = sc.nextInt(); System.out.println("請輸入第二個操作數:"); int secondNumber = sc.nextInt(); //創建MyMath對象,并使用 MyMath mm = new MyMath(); System.out.println("加法結果:"+mm.add(firstNumber,secondNumber)); System.out.println("減法結果:"+mm.sub(firstNumber,secondNumber)); System.out.println("乘法結果:"+mm.mul(firstNumber,secondNumber)); System.out.println("除法結果:"+mm.div(firstNumber,secondNumber)); }}

10:static關鍵字(理解) (1)靜態的意思。可以修飾成員變量和成員方法。 (2)靜態的特點: A:隨著類的加載而加載 B:優先與對象存在 C:被類的所有對象共享 這其實也是我們判斷該不該使用靜態的依據。 舉例:飲水機和水杯的問題思考 D:可以通過類名調用 既可以通過對象名調用,也可以通過類名調用,建議通過類名調用。 (3)靜態的內存圖 靜態的內容在方法區的靜態區 (4)靜態的注意事項; A:在靜態方法中沒有this對象 B:靜態只能訪問靜態(代碼測試過) (5)靜態變量和成員變量的區別 A:所屬不同 靜態變量:屬于類,類變量 成員變量:屬于對象,對象變量,實例變量 B:內存位置不同 靜態變量:方法區的靜態區 成員變量:堆內存 C:生命周期不同 靜態變量:靜態變量是隨著類的加載而加載,隨著類的消失而消失 成員變量:成員變量是隨著對象的創建而存在,隨著對象的消失而消失 D:調用不同 靜態變量:可以通過對象名調用,也可以通過類名調用 成員變量:只能通過對象名調用 (6)main方法是靜態的 public:權限最大 static:不用創建對象調用 void:返回值給jvm沒有意義 main:就是一個常見的名稱。 String[] args:可以接收數據,提供程序的靈活性 格式:java MainDemo hello world java java MainDemo 10 20 30


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东光县| 华坪县| 家居| 德钦县| 房产| 岗巴县| 蒙自县| 东港市| 泸州市| 闻喜县| 潜山县| 利津县| 望谟县| 龙陵县| 镇原县| 福贡县| 罗平县| 平昌县| 来凤县| 汉源县| 东安县| 安达市| 阿拉尔市| 黄龙县| 安丘市| 绥化市| 乌兰浩特市| 安溪县| 来宾市| 平塘县| 昌宁县| 天柱县| 湄潭县| 东源县| 南雄市| 怀来县| 兖州市| 永顺县| 哈巴河县| 永靖县| 沙雅县|