Java第五週學習總結——類與物件的總結
教材學習內容總結
1.面向過程與面向物件
1.1 面向過程:
以C語言為例,源程式由若干個書寫形式互相獨立的函式組成。編寫程式碼時不必考慮機器指令細節,其語法更加貼近自然語言,語言的核心為編寫解決某個問題的程式碼塊;
1.2 面向物件:
易維護、易擴充套件、易複用。語言核心為物件,一切為物件服務。
特性:
1.2.1 封裝性:
用共有的屬性,方法,定義為一個類,類的具體例項即為物件。物件會把自己的資料和對資料的操作封裝在一起,可以確保呼叫函式時都是作用在自己身上。
1.2.2繼承:
子類繼承父類的屬性與方法,也可以新增自己的屬性與方法,如人類繼承於哺乳類。
1.2.3 多型
操作名稱的多型:多個操作具有相同的名字,向操作傳入不同的引數,可以產生相應的行為。(好像過載啊)
(別看書了,網上資料都說這是過載)
和繼承相關的多型:同一操作被不同的型別物件呼叫產生不同的行為。如:貓與狗繼承了哺乳類的喊叫操作,呼叫時狗的行為為“嗷嗚”,貓的行為為“喵嗚”。
2.類
基本格式:
class 類名{
類體的內容
}
類宣告:
class People{//class People 即為類的宣告,最好用駝峰命名法來寫
......
}
成員變數:被宣告的變數,在整個類的範圍內都有效,與宣告位置無關。習慣先寫變數再寫方法。
區域性變數:在方法中被定義的變數,只在方法內有效,從宣告位置開始生效。區域性變數必須賦值。
用法:
class Tom{
int x=10,y;
void f(){
int x=5;
y=x+x;//y=10
}
}
class Tom{
int x=10,y;
void f(){
int x=5;
y=x+this.x;//y=15
//如果x為靜態變數,改用Tom.x
}
}
3. 構造方法,建立物件
構造方法:
class Point{ int x,y; Point(){//如果類裡沒有建構函式,系統會分配一個預設的構造方法 } Point(){//方法 x=1; y=1; } //建構函式沒有型別,不要加int 和 void int Point(){//非法 return 12; }
建立物件(基礎啊這個):
example.java
class xiyouji renwu {
float height,weight;
String head,ear;
void speak(String s) {
System.out.println(s);
}
}
public class example {
public static void main(String args[]) {
XiyoujiRenwu zhubajie; //物件的宣告
zhubajie = new XiyoujiRenwu(); //分配變數
}
}
儲存:
物件的名字儲存的是物件的引用。
使用:
物件.方法
4.引數傳值
高級別可向低級別傳值(如 double=> float),但反過來不行;
一個類的兩個物件如果引用相同,則具有完全相同的變數;
可變數引數:
int ...x
5. 例項成員與類成員
例項變數:在物件被建立時才產生
類變數:在類被建立時就產生,用關鍵字static修飾,為靜態變數。類共享類變數。
6.包
包是Java提供的檔案組織方式。一個包對應一個資料夾,一個包中可以包括很多類檔案,包中還可以有子包,形成包等級。Java把類檔案放在不同等級的包中。這樣一個類檔案就會有兩個名字:一個是類檔案的短名字,另外一個是類檔案的全限定名。短名字就是類檔案本身的名字,全限定名則是在類檔案的名字前面加上包的名字。
Student.java
package tom.jiafei;
public class Student{
int number;
Student(int n){
number = n;
}
void speak(){
System.out.println("Student類的包名是tom.jiafei,我的學號:"+number);
}
}
Example.java
package tom.jiafei;
public class Example{
public static void main(String args[]){
Student stu = new Student(10201);
stu.speak();
System.out.println("主類的包名也是tom.jiafei");
}
}
7.訪問許可權
教材學習中的問題與解決過程
過載與多型的知識點不懂
多問學委
程式碼除錯中的問題與解決過程
問題:不知道應該引用util具體哪個包
解決:import java.util.*;......
問題:定義了三個主函式(辣雞)
解決:改為定義一個主函式,引用其餘兩個函式
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第五週 | 443/592 | 1/4 | 16/38 | 類的用法 |
第四周 | 96/149 | 1/3 | 8/22 | 基本語句的複習 |
第二週 | 35/53 | 1/2 | 6/14 | 資料型別應用 |
第一週 | 18/18 | 1/1 | 8/8 | eclipse的使用 |