java學習貴在堅持
1:面向物件思想(理解)
(1)面向物件是基於面向過程的一種程式設計思想
(2)思想特點:
A:是一種更符合我們思考習慣的思想
B:把複雜的問題簡單化
C:讓我們從執行者變成了指揮者
(3)舉例:
A:洗衣服
B:吃飯
C:買電腦
(4)舉例並程式碼體現
把大象裝進冰箱
2:類與物件(掌握)
(1)我們學習程式設計是為了把現實世界的事物用程式語言描述來實現資訊化。
(2)現實世界事物是如何表達的呢?
屬性:外在特徵
行為:內在行為
(3)我們學習的是java語言,它最基本的單位是類。
所以我們要學會用類來體現一個事物。
(4)類:是一組相關的屬性和行為的集合
(5)物件:是該類事物的具體個體。
(6)舉例:
學生 類
張三 物件
3:類的組成(掌握)
(1)成員變數
其實就是變數,只不過定義在類中,方法外,並且可以不用初始化。
(2)成員方法
其實就是方法,只不過不需要static了
(3)案例:
學生類
class Student {
String name;
int age;
public void study() {}
}
手機類(學生自學)
4:類的使用(掌握)
(1)建立物件
格式:類名 物件名 = new 類名();
(2)使用成員
成員變數:物件名。變數名;
成員方法:物件名。方法名(。。。);
5:成員變數和區域性變數的區別(理解)
(1)在類中的位置不同
A:成員變數 類中,方法外
B:區域性變數 方法的形式引數,或者方法體中
(2)在記憶體中的位置不同
A:成員變數 在堆中
B:區域性變數 在棧中
(3)生命週期不同
A:成員變數 隨著物件的存在而存在,隨著物件的消失而消失
B:區域性變數 隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失
(4)初始化值不同
A:成員變數 有預設初始化值
B:區域性變數 沒有預設值,必須先宣告,賦值,最後才能使用
6:形式引數問題(理解)
(1)基本型別
基本型別作為形式引數,需要的是該基本型別的值。
(2)引用型別
引用型別作為形式引數,需要的是該引用型別的地址值。(物件)
7:匿名物件(理解)
(1)匿名物件:沒有名字的物件。是物件的簡化書寫方式。
(2)使用場景
A:呼叫方法,僅僅只呼叫一次
B:作為實際引數傳遞
8:封裝(掌握)
(1)隱藏實現細節,提供公共的訪問方式
(2)好處:
A:隱藏實現細節,提供公共的訪問方式
B:提高了程式碼的複用性
C:提高了程式碼的安全性
(3)使用原則
A:把成員變數隱藏
B:給出該成員變數對應的公共訪問方式
9:private關鍵字(掌握)
(1)是一個許可權修飾符
(2)可以修飾類的成員(成員變數和成員方法)
(3)僅僅在本類中可以訪問
(4)標準程式碼:
class Student {
private String name;
private int age;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
public void study() {}
}
10:this關鍵字(掌握)
(1)this:代表本類的物件
(2)應用場景:
解決了區域性變數隱藏成員變數的問題。
其他用法和super一起講。
(3)標準程式碼:
class Student {
private String name;
private int age;
public void setName(String name) {
this。name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this。age = age;
}
public int getAge() {
return age;
}
public void show() {
System。out。println(“姓名是:”+name+“,年齡是:”+age);
}
public void study() {
System。out。println(“學生愛學習”);
}
public void eat() {
System。out。println(“學生要吃飯”);
}
public void sleep() {
System。out。println(“學生想睡覺”);
}
}
class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s。setName(“林青霞”);
s。setAge(28);
s。show();
s。study();
s。eat();
s。sleep();
System。out。println(“姓名是:”+s。getName());
System。out。println(“年齡是:”+s。getAge());
}
}