基礎(chǔ)2-對象-代碼整理

成員內(nèi)部類實戰(zhàn)

//成員內(nèi)部類
class exercise{
    public static void main(String[] args) {
         Animal.Heart  at = new Animal().new Heart();//訪問成員內(nèi)部類
         at.move();//方法
    }                                  
}
class Animal{//動物外部類
    int a = 100;
    class Heart{//心臟內(nèi)部類
        public void move() {//成員內(nèi)部類方法
            System.out.println("動物的心臟在跳動"+Animal.this.a);//訪問外部類
        }
    }
}

接口實戰(zhàn)(帶橡皮的鉛筆)

package com.llhc;
public class QuickSort {
    public static void main(String[] args) {
        PencilEraser p = new PencilEraser();
        p.writer();
        p.wipe();
    }
}
class Pencil{
    public void writer(){
        System.out.println("具備寫的功能");
    }
}
interface Eraser{
    public void wipe();
}
class PencilEraser extends Pencil implements Eraser{
    public void wipe(){
        System.out.println("具備擦除功能");
    }
}

接口實戰(zhàn)(會賺錢的學(xué)生)

package com.llhc;
public class QuickSort {
    public static void main(String[] args) {
        StudentStudyMoney ssm = new StudentStudyMoney("張三");
        ssm.studentStudy();
        ssm.studentMoney();
    }
}
class Study{
    String name;
    public Study(String name){
        this.name=name;
    }
    public void studentStudy(){
        System.out.println(name+"學(xué)習(xí)很好Q蛞肌!!");
    }
}
interface Money{
    public void studentMoney();
}
class StudentStudyMoney extends Study implements Money{

    public StudentStudyMoney(String name) {
        super(name);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void studentMoney() {
        System.out.println(name+"也很會賺錢");
    }
}

封裝實戰(zhàn)(封裝公共屬性)

class Exercise{
    public static void main(String[] args){
        Net n = new Net();
        n.setId(100);//調(diào)用set屬性名
        System.out.println("ID"+n.getId());//調(diào)用get屬性名
        n.user();
    }
}
class Net{//某網(wǎng)
    int tel;//電話
    String name;//名字
    private int id;//用private封裝id
    //set屬性名
    public void setId(int ids){
        if(ids>=18){//id不可以大于18
            id=18;
        }else{
            id=ids;
        }
    }
    //get屬性名
    public int getId(){//獲取id
        return id;
    }
    public void user(){
        System.out.println("封裝");
    }
}

封裝實戰(zhàn)(計算器)

/*計算器
具備兩個操作數(shù),一個操作符,具備計算功能爷辱。
操作數(shù)和操作符要封裝
*/
class Exercise{
    public static void main(String[] args){
        Calculator c = new Calculator();//調(diào)用類
        c.setCalculator(45,2,'*');//調(diào)用set+類方法
        c.Arithmetic();//調(diào)用運算方法
    }
}
class Calculator{//計算器
    private int num1;//操作數(shù)1
    private int num2;//操作數(shù)2
    private char operator;//操作符 
    //如果要同時封裝多個屬性,調(diào)用“set+類名”的方法。
    public void setCalculator(int num1,int num2,char operator){//多屬性同時封裝
        this.num1=num1;//初始化
        this.num2=num2;//初始化
        this.operator=operator;//初始化
        if(operator=='+'||operator=='-'||operator=='*'||operator=='/'){//如果是這4個符號
            this.operator=operator;//就返回給成員屬性
        }else{
            this.operator='+';//否則就把‘+’返回
        }   
    }
    public void Arithmetic(){//運算方法
        if(operator=='+'){
            System.out.println("結(jié)果:"+(num1+num2));
        }else if(operator=='-'){
            System.out.println("結(jié)果:"+(num1-num2));
        }else if(operator=='*'){
            System.out.println("結(jié)果:"+(num1*num2));
        }else if(operator=='/'){
            System.out.println("結(jié)果:"+(num1/num2));
        }
    }
}

接口多態(tài)

class exercise{
    public static void main(String[] args) {
        Study s = new Student();//接口多態(tài):接口    變量名 = new 接口實現(xiàn)類
        s.read();
        s.made();
    }
}
interface Study{//接口
    public void read();
    public void made();
}
class Student implements Study{//實現(xiàn)接口
    public void read() {
        System.out.println("閱讀");
    }
    public void made() {
        System.out.println("玩耍");
    }
}

局部內(nèi)部類

//局部內(nèi)部類
class exercise{
    public static void main(String[] args) {
        Outer o = new Outer();//調(diào)用外部類
        o.run();//調(diào)用方法
    }
}
class Outer{
    public void run() {
        final int i = 100;//用final修飾
        class Inner{//內(nèi)部類
            public void head() {
                System.out.println(i);//訪問變量
            }
        }
    Inner innwe = new Inner();//創(chuàng)建內(nèi)部類對象
    innwe.head();//調(diào)用內(nèi)部類方法
    }
}

匿名內(nèi)部類

//匿名內(nèi)部類
class exercise{
    public static void main(String[] args) {
        Outer o = new Outer();
        o.print();
    }
}
abstract class  Animal{//抽象類
    public abstract void run();
}
class Outer{//外部類
    public void print() {//成員方法
        new Animal() {//匿名內(nèi)部類
            public void run() {//實現(xiàn)抽象方法
                System.out.println("實現(xiàn)抽象方法");
            }
        }.run();
    }
}

重寫(學(xué)生培訓(xùn))

/*
 需求:使用java描述一下普通的學(xué)生蚪战、java基礎(chǔ)班的學(xué)生、就業(yè)班的學(xué)生
 學(xué)生都會學(xué)習(xí)恤煞,學(xué)的內(nèi)容不一樣屎勘。
 普通的學(xué)生:馬克思主義
 基礎(chǔ)班的學(xué)生:javase
 就業(yè)班的學(xué)生:javaee+android
 */
class exercise{
    public static void main(String[] args){
        new Student();
        commonStudent c = new commonStudent();
        c.content();
        basicsStudent b = new basicsStudent();
        b.content();
        employmentStudent e = new employmentStudent();
        e.content();
    }
}
class Student{//學(xué)生
    public Student() {//構(gòu)造函數(shù)
        System.out.println("學(xué)生會學(xué)習(xí)");
    }
    public void content() {//方法
        System.out.println();
    }
}
class commonStudent extends Student{//普通學(xué)生
    public void content() {//重寫方法
        System.out.println("學(xué)習(xí)馬克思主義");
    }
}
class basicsStudent extends Student{//基礎(chǔ)班學(xué)生
    public void content() {//重寫方法
        System.out.println("javase");
    }
}
class employmentStudent extends Student{//就業(yè)班學(xué)生
    public void content() {//重寫方法
        System.out.println("javaee+android");
    }
}

強制多態(tài)

class exercise{
    public static void main(String[] args) {
        Animal a = new Mouse("老鼠");//多態(tài)
        a.run();
        Animal f = new Fish("魚");//多態(tài)
        Fish y = (Fish)f;//強制類型轉(zhuǎn)換
        f.run();//調(diào)用方法
        y.dig();//調(diào)用子類特有方法
        print(f);//參數(shù)為f是魚類,為a是老鼠,為y是調(diào)用子類特有方法
    }
    //題目:定義一個函數(shù)可以接收任意的動物對象(利用多態(tài))
    public static void print(Animal f) {//Animal f = new Fish("魚");
        Fish y = (Fish)f;//強制類型轉(zhuǎn)換
        f.run();//調(diào)用方法
    }
}
abstract class Animal{//父類 動物
    String name;
    public Animal(String name){
        this.name=name;
    }
    public abstract void run();//跑的抽象類
}
class Mouse extends Animal{//子類老鼠
    public Mouse(String name){
        super(name);
    }
    public void run() {
        System.out.println(name+"四條腿跑");//實現(xiàn)父類
    } 
}
class Fish extends Animal{//子類魚
    public Fish(String name) {
        super(name);
    }
    public void run() {
        System.out.println(name+"慢慢的游");//實現(xiàn)父類
    }
    public void dig() {//子類特有方法
        System.out.println("我是子類特有方法");
    }
}

抽象類(圖形)

class  exercise
{
    public static void main(String[] args) 
    {
        Roundness r = new Roundness(3,"圓形的");
        r.area();
        r.perimeter();
        Orthogon o = new Orthogon(2,3,"矩形的");
        o.area();
        o.perimeter();
    }
}
abstract class Graph//圖形
{
    String name;
    public  Graph(String name){
        this.name=name;
    }
    public abstract void perimeter();
    public abstract void area();
}
class Roundness extends Graph//圓形
{
    public static final double PI = 3.14;
    int r;
    public Roundness(int r,String name){
        super(name);
        this.r=r;
        
    }
    public  void area(){//面積
        System.out.println(name+"面積:"+(PI*r*r));
    }
    public  void perimeter(){
        System.out.println(name+"周長:"+(2*PI*r));
    }
}
class Orthogon  extends Graph//矩形
{
    int length;
    int width;
    public Orthogon(int length,int width,String name){
        super(name);
        this.length=length;
        this.width=width;
        
    }
    public void area(){
        System.out.println(name+"面積"+(length*width));
    }
    public void perimeter(){
        System.out.println(name+"周長"+(2*(length+width)));
    }
}

面向?qū)ο?/p>

class Exercise{
    public static void main(String[] args){
        Car c = new Car();//調(diào)用車對象
        c.wheel=0;//具體輪子
        c.name="寶馬";//具體名字
        c.color="白色";//具體顏色
        System.out.println("name"+c.name+"wheel"+c.wheel+"color"+c.color);
        c.run();
        CarRepair r = new CarRepair();//調(diào)用修車廠對象
        r.repair(c);//調(diào)用修車
        c.run();//跑
    }
}
class Car{//車是抽象的事物
    int wheel;//用整形描述輪子
    String name;//描述名字
    String color;//描述顏色
    public void run(){//用方法描述公共行為
        if(wheel==4){
            System.out.println("車子跑");
        }else{
            System.out.println("馬上送到修車廠");
        }
    } 
}
//修車廠
class CarRepair{
    String name;
    public void repair(Car c){//修理車
        if(c.wheel==4){
            System.out.println("修理完畢");
        }else{
            System.out.println("補好輪胎");
            c.wheel=4;//補輪胎
        }
    }       
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末居扒,一起剝皮案震驚了整個濱河市概漱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喜喂,老刑警劉巖瓤摧,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異玉吁,居然都是意外死亡照弥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門进副,熙熙樓的掌柜王于貴愁眉苦臉地迎上來这揣,“玉大人悔常,你說我怎么就攤上這事「蓿” “怎么了机打?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長片迅。 經(jīng)常有香客問我残邀,道長,這世上最難降的妖魔是什么柑蛇? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任芥挣,我火速辦了婚禮,結(jié)果婚禮上耻台,老公的妹妹穿的比我還像新娘空免。我一直安慰自己,他們只是感情好粘我,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布鼓蜒。 她就那樣靜靜地躺著,像睡著了一般征字。 火紅的嫁衣襯著肌膚如雪都弹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天匙姜,我揣著相機與錄音畅厢,去河邊找鬼。 笑死氮昧,一個胖子當(dāng)著我的面吹牛框杜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播袖肥,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咪辱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了椎组?” 一聲冷哼從身側(cè)響起油狂,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寸癌,沒想到半個月后专筷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蒸苇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年磷蛹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溪烤。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡味咳,死狀恐怖庇勃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情槽驶,我是刑警寧澤匪凉,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站捺檬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贸铜。R本人自食惡果不足惜堡纬,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蒿秦。 院中可真熱鬧烤镐,春花似錦、人聲如沸棍鳖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渡处。三九已至镜悉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間医瘫,已是汗流浹背侣肄。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留醇份,地道東北人稼锅。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像僚纷,于是被迫代替她去往敵國和親矩距。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容