1.構造代碼塊
~~~
package obj.b1;
public class Test {
public static void main(String[] args) {
Person p1 =new Person();
Person p2 =new Person("小李");
}
}
/*
* 對象一建立就運行了,而且優先于構造函數執行
* 給對象進行初始化的
* 構造代碼塊和構造方法的區別:
* 構造方法是對應的對象進行初始化,
* 構造代碼塊是給所有的對象進行統一的初始化
* 構造代碼塊中定義是不用對象共性的初始化內容
*
* */
class Person{
String name;
Person(){
System.out.println("我是無參構造方法");
}
Person(String name){
System.out.println("我是有參構造方法");
}
{
System.out.println("我是構造代碼塊");
}
}
~~~

2.構造方法之間的調用
~~~
package obj.b2;
public class Test {
public static void main(String[] args) {
Student s=new Student("小明",2);
}
}
/*
* this:看上去,用來區分局部變量和成員變量同名的情況
* this:就是代表本類對象,this代表它所在函數(方法)所屬對象的引用
* 構造函數之間的調用只能通過this語句來完成
* 構造函數之間進行調用時,this語句只能出現在第一行,構造方法要先執行,
* 如果初始化當中還有初始化,那就去執行更細節的初始化
* */
class Student{
String name;
int age;
Student(){
System.out.println("無參構造方法");
}
Student(String name){
this();
this.name=name;
System.out.println("aaa");
}
Student(String name,int age){
this(name);
this.age=age;
}
}
~~~

- 書寫心得
- 1.初識Java
- 2.變量、數據類型和運算符
- 實例:數據的輸入
- 實例:變量互換
- 3.條件選擇結構
- 案例:判斷年份是否為閏年
- 案例:生成隨機數
- 實例:剪刀石頭布
- 4.循環結構
- 實例:猜數字游戲
- Myeclipse
- 實例:九九乘法表
- 實例:日歷
- 5.數組
- JVM內存分析
- 鍵盤錄入賦值數組
- 數組的length屬性
- 數組的最大值(打擂臺)
- 數組的排序
- 數組復制算法
- 數組的查找算法(搜索)
- 數組的插入算法
- 數組的冒泡算法
- 數組的選擇排序
- 多維數組
- 實例:學生成績管理系統
- 類和對象
- 概念
- 內存分析
- 創建類和對象
- 面向對象與內存分析
- 有參數無(有)返回值的調用
- 成員變量
- return和多參方法
- toString方法
- this關鍵字
- 封裝
- 方法的重載
- 構造方法
- 階段性總結
- 實例:學生管理系統
- Test.java
- Student.java
- Admin.java
- 構造代碼塊及構造函數之間的調用
- main方法和靜態應用工具類及classpath
- static關鍵字
- 文檔注釋和靜態代碼塊及單例模式
- 繼承
- 多態
- 匿名對象和toString()和equals及final
- 抽象類和模板方法設計模式
- 接口
- 包機制和包與包之間的訪問權限和jar包