1. 程式人生 > >JAVA第五週學習總結

JAVA第五週學習總結

201711671102 曾燃亮 《java程式設計》第5周學習總結

教材學習內容總結

第四章

一構造方法與物件的建立

1.構造方法

建立物件時就要使用,構造方法的方法名與類名相同,可以過載,但過載必須是引數不同(個數或者型別)。

每個類都有預設的構造方法,但前提是你沒有給出自定義的構造方法,若給出則java不提供預設的構造方法。

class Point{

          Point(){}

}

2.建立物件

類名 物件名;

Point hehe;//宣告

hehe=new Point();//為物件分配變數

為物件分配變數時系統會為物件分配儲存空間和給物件的成員變數預設值,整形 int的預設值為0;浮點型float double 0.0;Boolean false;

3.使用物件

物件操作自己的變數(體現物件的屬性)  物件.變數;

物件呼叫類的方法(體現物件的行為)   物件.方法;

體現封裝

4.物件的引用和實體

避免使用空物件(空物件就是僅僅只聲明瞭,沒有用new去分配變數的)

重要結論

物件之間可以互相賦值 object1=object2;

垃圾收集

和c++的區別:java有類的構造方法但是沒有析構方法

二.類與程式的基本結構

一個java應用程式(工程)由若干個類構成,這些類可以在一個原始檔中也可以在多個原始檔中,一個應用程式只有一個主類,也就是說在原始檔可以沒有主類

三.引數傳值

1.傳值機制

java中,方法的所有引數都是“傳值”的,也就是說,方法中引數變數的值是呼叫者指定的值的拷貝。

2基本資料型別引數的傳值

只能低階向高階傳值,float=int可以,int=float不可以。

3.引用型別引數的傳值

java的引用型資料包括前面的陣列、剛剛學習的物件以及以後要學的介面。當資料是引用值時,“傳值”傳遞的是變數中存放的“引用”,而不是變數所使用的實體。

4.可變引數

public void f(int ... x)

可以輸入的引數的個數是可變的(不固定的,想輸多少個就輸多少個),這個x相當於一個數組但和陣列不一樣的是陣列的長度是固定的但這個不是,它也可以用這個x.length來求可變引數的長度。

四.物件的組合

一個物件中存在著另一個物件

1.組合與複用

2.類的關聯關係和依賴關係

關聯關係:如果一個類A中的成員變數是用B類宣告的 物件,那麼A和B就是關聯關係

依賴關係:如果A類中某個方法的引數是B類宣告的物件或某個方法返回的資料型別是B類物件,那麼A和B是依賴關係

五.例項成員與類成員

1.例項變數與類變數的宣告

 

class Dog{

float x;//例項變數

static int y;//類變數 

}

2.例項變數和類變數的區別

(1)不同物件的例項變數互不相同

(2)所有物件共享類變數

(3)通過類名直接訪問類變數

類方法前有static例項沒有。

3.例項方法和類方法的定義

類方法前加static

4.例項方法和類方法的區別

1)物件呼叫例項方法

2)類名呼叫類方法

3)設計類方法的原則(對於static方法,不必建立物件就可以用類名呼叫它)

六.方法過載

java中存在兩種多型:過載和重寫

1.方法過載的語法規則

方法名相同,引數個數、型別不同。

2.避免重載出現歧義

3.this關鍵字

this表示某個物件,this可以出現在例項方法中,不可以出現在類方法中

1)在例項方法中使用this

this.成員變數;

當static成員在例項方法中出現時,預設的格式是

類名.成員變數;

對於方法也是一樣。

七.包

package 包名;

八.import 語句

1.引入類庫中的類

import java.util.*;       *表示java.util包中所有的類

2.引入自定義包中的類

九.訪問許可權

訪問許可權是指物件是否可以通過“.”來操作自己的變數或者呼叫自己的方法。

訪問限制修飾符:private(私有),protected(保護),public(公有)不用這些修飾符的是友好變數和友好方法

1.基本型別的類封裝

每一個基本型別(例如 int)都有一個類

Double類實現了對double基本型別資料的類包裝。

可以使用Double類的構造方法Double(double num)建立一個Double類物件;

然後Double類物件呼叫doubleValue()方法可以返回該物件含有的double型資料。

2.物件陣列

class Student{

int number;

}

public statuc void main(String args[]){

Student a[];

}

十.JRE擴充套件與jar檔案

P97

十一.文件生成器

P98

十二.應用舉例

P99

教材學習中的問題和解決過程

loading。。。。。

程式碼除錯中的問題和解決過程

如果在同一個包中有兩個原始檔的類的類名相同會報錯,所以要放在不同的包中

感悟

看書時不認真,課後習題中選擇題中前面的幾題很多沒做對。

目標:5000行

第一週:35行

第二週:70行

第三、四周:200行

第五週:640行