~~~
繼承:
繼承的概述:
1.提高了代碼的復用性,簡化了代碼
2.讓類與類之間產生了繼承關系,才有了后面的多態特性的存在
3.注意:千萬不要為了獲取其他類的功能簡化代碼,而建立繼承關系,必須要類與類之間存在繼承關系,繼承關系:is a
~~~
~~~
package obj.b6;
//父類,超類,基類
class Person{
String name;
int age;
}
//子類
class Student extends Person{
void study(){
System.out.println("學習");
}
}
class Teacher extends Person{
void teach(){
System.out.println("教書");
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
~~~
~~~
繼承概述_2
子類擁有父類的成員,子類不能擁有父類中被private修飾后的成員
~~~
~~~
java多層繼承 在多層繼承中最下層擁有整個繼承體系的成員,最上層的父類里面定義了所有子類的共性描述
~~~
~~~
java中不支持多繼承,只支持單繼承。因為多繼承存在安全隱患,當多個父類定義了相同的成員,子類對象不確定運行哪一個。
但java保留了這種機制,并用了另一方式來體現 多實現(接口?)
~~~
子父類成員特點
成員:
1.成員變量
2.函數
3.構造函數

~~~
變量:
this 代表當前對象的引用this.變量 首先在本類中找所需要的這個變量,如果沒有找到再到父類中找。
super 用于訪問當前對象的父類成員,super.變量 直接父類中找所需的變量
1.子類覆蓋父類時,必須保證子類的權限大于等于父類,才可以覆蓋,否則編譯出錯
訪問權限修飾符:public>default>private 成員前面沒加任何權限修飾符默認權限就是default
2.靜態的函數只能覆蓋靜態的
記住:
重載:只看同名方法的參數列表
重寫:子父類方法要一模一樣
有了子父類之后構造方法的特點:
在對子類對象進行初始化的時候,父類的構造方法也會運行,那是因為子類的構造函數默認第一行有一條隱式的語句super();
子類的每個構造方法第一行都有一個隱式的super();
~~~
~~~
package obj.b7;
//父類,超類,基類
class fu{
String name;
fu(){
System.out.println("父類構造方法");
}
}
//子類
class zi extends fu{
zi(){
//super();
System.out.println("子類構造方法");
}
}
public class Test {
public static void main(String[] args) {
zi z=new zi();
}
}
~~~

~~~
package obj.b7;
//父類,超類,基類
class fu{
String name;
fu(){
System.out.println("父類構造方法");
}
fu(int age){
System.out.println("父類有參構造方法");
}
}
//子類
class zi extends fu{
zi(){
//super();
super(18);
System.out.println("子類構造方法");
}
}
public class Test {
public static void main(String[] args) {
zi z=new zi();
}
}
~~~

- 書寫心得
- 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包