生活随笔
收集整理的這篇文章主要介紹了
Java面向对象进阶
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
相關額外的代碼待上傳。。。
/*** 面向對象進階*/
package com.org.lxh;import com.org.lxh.ext.Demo;
import com.org.lxh.impl.AysTest;
import com.org.lxh.impl.Person;
import com.org.lxh.impl.Test;
import com.org.lxh.inter.InterTest;
import com.org.lxh.obj.Address;
import com.org.lxh.obj.ClassA;
import com.org.lxh.obj.Cow;
import com.org.lxh.obj.Dog;
import com.org.lxh.obj.Employee;
import com.org.lxh.obj.OutputInnerClass;/*** @author hemmingway <hemmingway@163.com>**/
public class Chp7 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub//1、Java沒有像C++一樣的引用傳遞,只有值傳遞/** * *///2、接口和抽象類有什么區別?/** 一個類可以是以實現多個接口。但是只能繼承一個抽象類* 定義接口參見 com.org.lxh.inter; * 實現接口 com.org.lxh.impl* */Test tst = new Test(); //接口使用范例tst.doTest();Demo demo = new Demo(); //抽象類的范例demo.doSomething();//3、如何調用父類的構造方法?/** super* * Dog類中使用super關鍵字* */Dog d = new Dog();System.out.println("Animal的種類是:" + d.name); //Animal的種類是:DogCow c = new Cow();System.out.println("Animal的種類是:" + c.name); //Animal的種類是:Cow//4、方法的重寫/** */d.cry();c.cry();//5、如何操作被隱藏的成員變量和被重寫的成員方法?/** 如果想在子類中操作父類中被隱藏的成員變量和被重寫的成員方法,也可以使用super關鍵字。具體格式如下:* super.成員變量名;* super.成員方法名;* * 例如Dog類中的move()方法中使用super* */d.move();//6、final、finally、finalize有什么區別/** final修飾一個類時,表示最終的類,不能繼承的;如果修飾一個變量表示不能修改了;修飾一個方法,表示不可以重寫。** finally用于異常處理,即使前面的代碼沒有異常,該代碼塊中的代碼也會執行。通常用于資源釋放。 * * finalize是Object類中定義的一個方法,可以重寫,用于資源回收。* */d.goHome(); //這個方法在Animal中北final修飾//7、Java中如何模擬多重繼承?/** Java中不支持多重繼承,需要使用接口實現* 范例:定義三個借口IPeople、ITeacher和IStudent* Person類實現這三個接口*/Person p = new Person();p.setName("我叫無語");p.setSex("男");System.out.println(p.teach());p.setName("琦琦");p.setSex("女");System.out.println(p.study());//7、Java克隆對象?/** 1.淺克隆* 相關的類有Address以及Employee* */System.out.println("克隆前(淺克隆)");Address address = new Address("China", "Hunan", "Hengyang");Employee emp1 = new Employee("hemmingway", 25, address);System.out.println("員工1的信息: " + emp1);Employee emp2 = emp1.clone();emp2.setName("washa");emp2.getAddress().setCity("zhouzhou");System.out.println("員工2的信息: " + emp2);//8. 內部類是否可以被繼承?/** 查看類 OutputInnerClass 的示范*/ClassA a = new ClassA();OutputInnerClass oic = new OutputInnerClass(a);oic.test();//9.如何調用內部類和外部類同名的成員?/** * *///10. 什么是匿名內部類?/** 創建一個InterTest接口 * * AysTest* */AysTest ts = new AysTest();ts.showInfo(new InterTest(){public void printInfo() { //匿名內部類的類體System.out.println("這里實現接口的方法。。。");}});}}
在這里實現接口的方法,表示like-a關系
這里是繼承抽象類,表示is-a關系
Animal的種類是:Dog
Animal的種類是:Cow
汪汪
cow cry....
animal move here....
animal move special type addone!
跑、咬、叫。。。
animal go home!!
姓名:我叫無語男教師
姓名:琦琦女學生
克隆前(淺克隆)
員工1的信息:姓名: hemmingway,年齡: 25,地址:國家: China,省: Hunan,城市: Hengyang
員工2的信息:姓名: washa,年齡: 25,地址:國家: China,省: Hunan,城市: zhouzhou
i'am inner class b
這里實現接口的方法。。。
?
總結
以上是生活随笔為你收集整理的Java面向对象进阶的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。