1. 程式人生 > >大數據<javaSE + Linux精英實訓班>_day_09

大數據<javaSE + Linux精英實訓班>_day_09

strac ati 去重 ... print public int() 成員 tid

1:面向對象->繼承
        
        描述事物之間的所屬關系。使用種事物之間形成一種關系體系。
        在java中類的繼承是指在現有類的基礎上構建一個新的類,構建出來的新類我們稱作子類,
        現有的類稱作為父類。
        子類會自動擁有父類所有的可繼承的屬性和方法。

技術分享圖片

package com.itstar.demo01;
/*
 * 定義員工類
 *     屬性和方法:
 *         成員變量    姓名
 *         成員方法    工作
 */
public class Emplpyee {
    String name;
    
    
public void work() { System.out.println("員工在工作"); } }

package com.itstar.demo01;
/*
 * 定義研發部:
 *         屬於員工中的一種
 *         研發共工繼承研發類
 * 
 * 關鍵字:extends
 *         子類Develop  父類Emplpyee
 * 子類自動擁有父類中可以繼承的屬性和方法
 * 
 */
public class Develop extends Emplpyee{
    // 子類中定義了方法
    public void print() {
        
// 打印的是父類的成員變量 System.err.println(name); } }
package com.itstar.demo01;
/*
 * 定義維護運維類
 *         屬於員工的一種,繼承員工類
 */
public class YunWei extends Emplpyee{
    public void weihu() {
        System.out.println(name);
    }
}
package com.itstar.demo01;

public class Test {
    public static void
main(String[] args) { // 創建研發員工類的對象 Develop d = new Develop(); d.name = "裂縫"; d.work(); // 創建維護類對象 YunWei y = new YunWei(); y.name = "收嗯"; y.weihu(); y.work(); } }
2:面向對象->繼承好處
        
        1、繼承的出現提升了代碼的復用性,提高軟件開發效率。
        2、繼承的出現讓我們類與類之間產生了關系(繼承關系),提供了多態的前提。繼承和多態是密不可分的
            的關系。
        3、父類中的屬性和方法子類可以直接用,或者創建對象也可以用。
        
package com.itstar.demo02;

public class fu {
    int a = 1;
}
package com.itstar.demo02;

public class Zi extends fu{
    int a = 3;
    
    // 創建方法
    public void show() {
        int a = 4;
        System.out.println(a);
        // this可以用成員變量
        //System.out.println(this.a);
        
        // 調用的既不是成員變量也不是方法當中的變量,而是父類當中的變量
        System.out.println(super.a);
    }
}
package com.itstar.demo02;

public class Test {
    public static void main(String[] args) {
        // 創建對象
        Zi z = new Zi();
        
        int i = z.a;
        System.out.println(i);

        // 子類自己有的自然調用自己的,沒有的調用父類的
        // 方法的就近原則,不是覆蓋
        z.show();
    }
}
技術分享圖片



例子:
package com.itstar.demo03;

public class Fu {
    public void show() {
        System.out.println("父類中的show方法");
    }
}
package com.itstar.demo03;

public class Zi extends Fu{
    public void show() {
        System.out.println("子類的重寫show方法");
    }
    
    public void show2() {
        System.out.println("子類中的show2方法");
    }
}
package com.itstar.demo03;

public class Test {
    public static void main(String[] args) {
        Zi z = new Zi();
        // 子類中沒有show方法,自然去父類當中找
        z.show();
        z.show2();
    }
}
代碼例子:
package com.itstar.demo04;
/*
 * 定義手機功能
 *         功能:打電話、發短信、微信
 */
public class Phone {
    public void Call() {
        System.out.println("手機在打電話");
    }
    
    public void sendMessage() {
        System.out.println("手機在發短信");
    }
    
    public void weChat() {
        System.out.println("手機在微信");
    }
}
package com.itstar.demo04;
/*
 * 方法覆蓋的註意事項:
 *         子類方法覆蓋父類方法,必須保證權限要大於等於父類的權限
 *         子類重寫父類的方法,保證子類的權限要大於等於父類的權限
 * java中有4大權限:依次減小
 *         public:公有
 *         protected:受保護的
 *         default:默認(特別,不寫)權限
 *         private:私有的
 */
public class AndroindPhone extends Phone{
    public void weChat() {
        super.weChat();
        System.out.println("跳一跳");
        System.out.println("腦強王者");
    }
}
package com.itstar.demo04;

public class Test {
    public static void main(String[] args) {
        // 創建對象
        Phone p = new Phone();
        
        p.Call();
        p.sendMessage();
        p.weChat();
        
        AndroindPhone ap = new AndroindPhone();
        ap.weChat();
    }
}

技術分享圖片

技術分享圖片

package com.itstar.demo05;
/*
 * 定義類,開發工程師類
 *         ee工程師:工作
 *         安卓工程師:工作
 */
public abstract class Develop {
    public abstract void work();
}
package com.itstar.demo05;

public class JavaEE extends Develop{
    // 重寫父類的抽象方法
    public void work() {
        System.out.println("JAVAEE工程師正在開發後臺管理系統");
    }
}
package com.itstar.demo05;

public class Android extends Develop{
    public void work() {
        System.out.println("Andoid工程師正在開發手機軟件");
    }
}
package com.itstar.demo05;

public class Test {
    public static void main(String[] args) {
        // 父類為抽象類  所以沒有辦法實例化
        JavaEE j = new JavaEE();
        j.work();
        
        Android a = new Android();
        a.work();
    }
}

package com.itstar.demo06;

public abstract class Animal {
    public void sleep() {
        System.out.println("動物在睡覺");
    }
    //private abstract void show();不可以,原因,本來抽象類的存在就是讓子類去重寫抽象類方法的
    public abstract void show();
}
package com.itstar.demo06;

public class Cat extends Animal{
    public void show() {
        System.out.println("小貓正在睡覺");
    }
}
package com.itstar.demo06;

public class Test {
    public static void main(String[] args) {
        Cat  c = new Cat(); 
        c.sleep();
        c.show();
    }
}

package com.itstar.demo07;
/*
 * 員工類
 * 
 */
public abstract class Employee {
    private String name;
    private String id;
    
    public abstract void work();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}
package com.itstar.demo07;
/*
 * 研發部
 */
public abstract class Develop extends Employee{
    
}
package com.itstar.demo07;

public class JavaEE extends Develop{

    
    public void work() {
        System.out.println("JavaEE在開發淘寶" + super.getId() + "...." + super.getName());
    }
    
}
package com.itstar.demo07;

public abstract class YunWei extends Employee{

}
package com.itstar.demo07;

public class NetWork extends YunWei{
    public void work() {
        System.out.println("網絡工程師在裝網絡" + super.getId() + "..." + super.getName());
    }
}
package com.itstar.demo07;

public class Test {
    public static void main(String[] args) {
        JavaEE ee = new JavaEE();
        NetWork n = new NetWork();
        
        ee.setId("研發1號小弟");
        ee.setName("小店");
        
        n.setId("運維2號小弟");
        n.setName("農二");
        
        ee.work();
        n.work();
    }
}

大數據<javaSE + Linux精英實訓班>_day_09