1. 程式人生 > >第四章·2、第五章學習筆記

第四章·2、第五章學習筆記

一、教材學習內容(4.類和物件·2)

1、使用super.方法名可以呼叫父類的構造方法(包括被子類所隱藏的方法)。

特別地,父類構造方法定義時應注意留一個不帶參的構造方法,以防子類省略super。

public class Demo1 {
 
	public static void main(String[] args) {
		SubClass_A sc=new SubClass_A(2,3);
		System.out.println(sc.i);
		System.out.println(sc.j);
 
	}
 
}
class SuperClass_A
{
	public int i=0;
	public int j=0;
	public SuperClass_A()
	{
		j=1;
	}
}
class SubClass_A extends SuperClass_A
{
	public int i;
	SubClass_A(int a,int b)
	{
		super();
		i=b;
	}
}

2、final關鍵字可以修飾類、成員變數以及區域性變數。作用是1)final類不允許被子類重寫2)final變數具有常量的屬性,且必須在該變數定義時為它賦初值。

3、物件的上轉型物件(有點類似介面回撥)

特別地,

1)注意區分子類物件和上轉型物件。

2)可以將物件的上轉型物件強制轉換到一個子類物件,此時的物件又具備子類所擁有的屬性和功能。

假設A類是B類的父類,

  A a;

   B b=new B();

   a=b;//此時物件a就是b物件的上轉型物件
   
   B b=(B)a;//此時上轉型物件強制轉換成子類物件

3)不可將父類物件的引用賦給子類物件

4)子類若重寫了父類的靜態(static)方法,那麼子類的上轉型物件不能呼叫子類重寫的靜態方法,只能呼叫父類的靜態方法。

4、繼承中的多型性指的是父類的某個方法被其子類重寫時,可以產生各自的功能。

5、abstract方法和abstract類(抽象方法、類)

類:1)只允許宣告 2)不允許實現抽象方法 3)不允許使用final、static關鍵字 4)abstract類內可以沒有abstract方法

       5)abstract類不能用new運算子建立物件(子類必須重寫抽象方法) 6)abstract類的物件作上轉型物件符合上轉型物件屬性

       7)抽象類可以抽象出重要的行為標準,而不具有探討行為的實現細節

6、面對抽象程式設計:是指當設計某種重要的類時,不讓該類面向具體的類,而是面向抽象類。

目的:為了應對使用者需求的變化,將某個類中經常因需求變化而需要改動的程式碼從該類中分離出去。

核心:讓類中每種可能的變化對應地交給抽象類的一個子類去負責。

7、開-閉原則   對擴充套件開放,對修改關閉。

 

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

暫無

 

三、程式碼除錯過程中的問題

暫無

 

四、學習思考和感悟

暫無

 

五、學習進度條

   程式碼函式(新增/積累)  部落格量(新增/積累)   學習時間(新增/積累) 重要成長
  目標              7000行              30篇                400h  
第五週            137/1397               1/6                5/51