1. 程式人生 > >Java第五週學習總結——類與物件的總結

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的使用