国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

我的Thinking in Java學習筆記(十)

2019-11-18 13:41:59
字體:
來源:轉載
供稿:網友

  第六章 重復運用classes
在面向過程的語言中重復運用代碼只是簡單的復制代碼,以達到重復運用的目的,而在面向對象的java程序中,代碼的重用主要體現在2點
1、在新的class中使用既有的class,這中方法稱之為"組合"。但是這種重用方式只是很單純的重復運用以有的代碼 功能,而非重復運用其形式。
2、讓新的class成為既有class的一類,并且根據需要加入新的功能,而無須更動原有class,這種方法稱之為"繼續"。
組合語法
其實組合我們在以前的例子中已經大量的用到了,我們只要將對象句柄放置在class中就是組合!
class compostion
{
PRivate String s;
compostion()
{
System.out.println("compostion()");
s=new String("hello");
}
public String toString()
{
return s;
}
}
public class test
{
compostion c; //對象句柄
int i;
public void show()
{
System.out.println("int = "+i);
System.out.println("compostion = "+c);
}
public static void main(String args[])
{
test t = new test();
t.show();
}
}
其中每個非基本數據類型的對象都有一個toString()方法,該函數用于將compostion轉換為一個string,和其他string相加class中基本數據類型會被初始化為默認值,而對象句柄會被初始化為null。假如你要使用該句柄,切記要初始化,否則會抱空指針錯誤!
繼續
繼續是java語言中極其重要的一部分,使用要害字extends來實現,這樣變自動的讓子類獲得了父類中所有的成員數據和函數。而java中所有的類甚至包括你自己已經定義的或者將要定義的類都是繼續自object類的,在編譯器內部進行的隱式繼續
class base
{
int i=10;
public void show()
{
System.out.println("base method");
}
public static void main(String args[]) // java答應在同一個文件中的class擁有各自的main()
{
new base().show();
}
}
class derived extends base //繼續
{
public void show() //覆蓋了base的函數
{
System.out.println("derived method");
super.show(); //調用base的函數
}
public void newMethod() //子類中新加入的函數
{
System.out.println(i); //打印base中的數據
}
public static void main(String args[])
{
derived d = new derived();
d.show();
d.newMethod();
}
}
base的初始化
當子類被初始化的時候系統會先將被繼續的父類初始化,java編譯器會在調用子類構造函數之前調用父類的構造函數
class base
{
base()
{
System.out.println("base method");
}

}
class derived extends base
{
derived()
{
//super(); 系統會自動加入對父類的調用
System.out.println("derived method");
}
public static void main(String args[])
{
derived d = new derived();
}
}
假如你的父類是帶有引數的class,那么編譯器是不會自動調用構造函數的,你必須使用super來調用,否則系統會抱錯

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南江县| 湟源县| 卢氏县| 安顺市| 石屏县| 白水县| 句容市| 星子县| 石楼县| 济南市| 叙永县| 曲松县| 高雄县| 温泉县| 定南县| 光泽县| 涟水县| 孟村| 临高县| 监利县| 信丰县| 西充县| 正蓝旗| 花莲县| 交城县| 马公市| 临邑县| 新河县| 南靖县| 重庆市| 会理县| 志丹县| 泰安市| 遂川县| 宽城| 翁源县| 临泽县| 龙泉市| 肇源县| 毕节市| 修文县|