国产探花免费观看_亚洲丰满少妇自慰呻吟_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來調用,否則系統會抱錯

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高青县| 拉萨市| 长岛县| 湄潭县| 宁化县| 南涧| 武平县| 长泰县| 依兰县| 神池县| 山西省| 萨嘎县| 崇州市| 青田县| 鄂尔多斯市| 大宁县| 巴中市| 锡林郭勒盟| 大田县| 邵阳县| 古交市| 汪清县| 漳州市| 东平县| 蒲城县| 桦川县| 德州市| 广丰县| 陆河县| 改则县| 绵阳市| 武平县| 海城市| 昌吉市| 林芝县| 滨海县| 石泉县| 河曲县| 日照市| 玉溪市| 鄂伦春自治旗|