大数据<javaSE + Linux精英实训班>_day_09

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();
    }
}

原文地址:https://www.cnblogs.com/guijin/p/8645824.html

时间: 2025-01-13 23:48:05

大数据<javaSE + Linux精英实训班>_day_09的相关文章

大数据&lt;javaSE + Linux精英实训班&gt;_day_02

---恢复内容开始--- 1:基础语法->变量 变量是内存当中的小盒子(小容器),容器是什么? 变量装载的是数据! 2:基础语法->计算机的存储单元 计算机存储设备的最小单元 "位" (bit),又称为 "比特位". 计算机的最小存储单元叫 "字节" (byte),B. 字节由8个位组成. 1字节 = 8比特位 1B = 8b 1024B = 1KB 1024 = 1MB 1024MB = 1GB 1024GB = 1TB 1024T

大数据&lt;javaSE + Linux精英实训班&gt;_day_06

1:基础语法->引用数据类型(类) Scanner类:键盘输入 Random类:随机数 两种:1.Java提供好的类,这些类包含了很多方法和属性供我们使用 2.我们自己创建的类,按照类的定义标准,类中可以包含多个方法和属性 引用数据类型有3种:数组.类.接口(面向对象) public class Phone{ // 手机的属性 String color; String brand; // 寸尺 double size; } public class TestPhone{ /* 测试: 1.导入包

大数据&lt;javaSE + Linux精英实训班&gt;_day_04

1:基础语法->for循环 最常见的循环语句. 用在循环次数已知的情况下. for(初始化表达式;循环条件;操作表达式){ 执行语句; ..... } /* for循环的编写格式: for(初始化表达式;循环条件;操作表达式){ 执行语句; ..... } 初始化表达式:定义变量,作用,控制循环的次数 条件:当条件为true的时候,执行循环体,当条件为false时,结束循环 增量:变量自增的情况 */ public class ForDemo{ public static void main(S

大数据&lt;javaSE + Linux精英实训班&gt;_day_07

1:基础语法->ASCII编码表 计算机的世界,01->二进制 全世界有多少个国家?每个国家用什么语句? 全世界都在使用计算机. 美国:计算机可以直接识别人类的文字 字母a对应的十进制为97,大写的字母A对应的十进制是65 美国佬:a-z A-Z 0-9 [email protected]#$%等 a->在硬盘当中存储并不是a,是a对应值97的二进制 常用的ASCII编码表: 数字0-9对应的ASCII编码十进制为48-57,字母a-z对应的是97-122,字母A-Z对应的是65-90.

大数据&lt;javaSE + Linux精英实训班&gt;_day_08

1:面向对象->面向对象和面向过程的思想 都是我们编写程序的一种方式. 面向过程:这种程序设计方式,遇到事情思考:"我该怎么做",然后一步步实现的过程. 典型的c语言就是. 面向对象:这种程序设计方式,遇到事情思考:"我改让谁来做",然后那个谁就是对象. 他要怎么做这件事是他自己的事,反正到最后合力把事做好就可以了. 找不到人,就创建这个人.java语言就是. 2:面向对象->代码实现 大象装冰箱总共分几步    开门  把大象装进去(存储大象->

[嵌入式高薪就业课程]嵌入式系统就业实训班

为培养适应企业需要.基础扎实.知识面宽.技能强.富有创新精神的嵌入式开发工程师, 通过本课程的系统学习,可以使学员由浅入深地对嵌入式ARM+Linux系统全面学习,能够独立胜任嵌入式底层开发.应用开发.系统开发.驱动开发等多方面工作,注重两大能力和敬业团队精神培养.  全面模拟IT公司的嵌入式软硬件开发.管理.组织.实施过程来强化个人能力和技术能力主要包括:工程实践能力团队协作能力 技术创新能力专业能力,编程能力 软硬件平台应用能力 项目开发能力 解决关键技术问题能力. 适合对象:理工科类专科(

一起来学大数据——走进Linux之门,学习大数据的重中之重

昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介绍 Linux是我们当前各大系统中一种自由和开源的OS,虽然市面上有各种各样的版本,但是他们拥有同一个内核.我们在这个内核上面,自己添加一些程序后,就是我们之后称之的开发版本. 其中包括了两大阵营,它们分别是:Redhat系列和Debian系列.我们看到的红帽,centos就是第一个阵营的,而ubu

4个步骤带你搞定大数据,Linux到大数据学习路线资料(绝对必看)

Linux学习路线图 运维学习需要分为四个阶段: ①linux初级入门 ②linux中级进阶 ③linux高级提升 ④资深方向细化. 第一阶段:初级入门 Linux基础知识.基本命令(起源.组成.常用命令如cp.ls.file.mkdir等常见操作命令)Linux用户及权限基础Linux系统进程管理进阶Linux高效文本.文件处理命令(vim.grep.sed.awk.find等命令)第二阶段:中级进阶(基础运维) 中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学

[3G嵌入式应用课程]嵌入式C语言实训班

第一阶段:掌握Qt 所应用的范围,建立面向对象开发的思维方法,列举使用Qt所开发的项目案例.包括行业案例, 与嵌入式开发的案例,掌握面向对象的图形界面的方法,包括计算机常用图形部件,掌握Qt 信号与槽的实现机制.技术顾问:廖老师  13687358291  qq:30546045532 1. Qt 简介与现状 2. Qt应用范围 3. 深入面向对象编程 4. Qt编程团队组建管理以及设计开发流程介绍 6. linux平台qt应用开发流程 7. Qt 对象模型与类图,介绍Qt 常用类(Qt对象结构