IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java 接口与多态及基础练习题 -> 正文阅读

[Java知识库]Java 接口与多态及基础练习题

1接口练习

请定义“员工(类)”:

? 属性:姓名、性别、年龄(全部私有)
? 行为:工作(抽象)
? 无参、全参构造方法
? get/set方法

package com.csdn.day03.one;
//1.	请定义“员工(类)”:
//?	属性:姓名、性别、年龄(全部私有)
//?	行为:工作(抽象)
//?	无参、全参构造方法
//?	get/set方法
public abstract class Employee {
    private String name;
    private String sex;
    private int age;

    public Employee() {
    }

    public Employee(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int  getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    //?	行为:工作(抽象)
    public abstract void work();
}

1.2. 请定义“绘画(接口)” ? 抽象方法:绘画

package com.csdn.day03.one;
//2.	请定义“绘画(接口)”
//?	抽象方法:绘画
public interface Drawing {
     void drawing();
}

1.3. 请定义“Java讲师类”继承自“员工类”

package com.csdn.day03.one;
//3.	请定义“Java讲师类”继承自“员工类”
public class JavaTeacher extends Employee{
    @Override
    public void work() {
        System.out.println("讲java");
    }
}

1.4. 请定义”UI讲师类”,继承自“员工类”,并实现“绘画”接口。

package com.csdn.day03.one;
//4.	请定义”UI讲师类”,继承自“员工类”,并实现“绘画”接口。
public class UiTeacher extends Employee implements Drawing{
    @Override
    public void drawing() {
        System.out.println("我会画画");
    }

    @Override
    public void work() {
        System.out.println("讲Ui");
    }
}

1.5.测试类

package com.csdn.day03.one;
//4.	请定义”UI讲师类”,继承自“员工类”,并实现“绘画”接口。
public class UiTeacher extends Employee implements Drawing{
    @Override
    public void drawing() {
        System.out.println("我会画画");
    }

    @Override
    public void work() {
        System.out.println("讲Ui");
    }
}

2.接口练习

一个机动车管理系统中有以下类的设计:
机动车类:
|–汽车类:
|–奔驰车
|–宝马车
|–摩托车类:
|–雅马哈摩托
|–宝马摩托
所有的车都有如下信息:
? 属性:品牌、价格
? 行为:运行
现在要求为所有“宝马车系”的汽车增加一个GPS功能。
请设计出上述的类结构,并用代码实现。

2.1机动车类:

package com.csdn.day03.two;
//机动车类
//所有的车都有如下信息:
//        ?	属性:品牌、价格
//        ?	行为:运行

public abstract class MotorVehicles {
    private String brand;
    private int price;

    public MotorVehicles() {
    }

    public MotorVehicles(String brand, int price) {
        this.brand = brand;
        this.price = price;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }
    //定义抽象类
    public abstract void run();
}

汽车类

package com.csdn.day03.two;
//汽车类
public abstract class Car extends MotorVehicles {
    public Car() {

    }

    public Car(String brand, int price) {
        super(brand, price);
    }

}

奔驰车

package com.csdn.day03.two;
//奔驰汽车
public class Benz extends Car{
    @Override
    public void run() {
        System.out.println("奔驰汽车在飞驰");
    }
}

宝马车

package com.csdn.day03.two;
//宝马汽车
public class BmwCar extends Car implements Gps{
    @Override
    public void run() {
        System.out.println("宝马汽车在飞驰");
    }

    @Override
    public void location() {
        System.out.println("正在定位");
    }
}

摩托车类

package com.csdn.day03.two;
//摩托车类
public abstract class Motocross extends MotorVehicles{
    public Motocross() {
    }

    public Motocross(String brand, int price) {
        super(brand, price);
    }
}

雅马哈摩托

package com.csdn.day03.two;
//雅马哈摩托
public class Yamaha extends MotorVehicles{
    @Override
    public void run() {
        System.out.println("雅马哈在飞驰");
    }
}

宝马摩托

package com.csdn.day03.two;
//宝马摩托车
public class BmwM extends MotorVehicles implements Gps{
    @Override
    public void run() {
        System.out.println("宝马摩托车在飞驰");
    }


    @Override
    public void location() {
        System.out.println("正在GPS定位");
    }
}

GPS接口类

package com.csdn.day03.two;

//Gps接口
public interface Gps {

    //定位
    void location() ;


}

3 多态练习

有以下类定义:

? 动物类:
? 属性:名称、年龄、性别
? 行为:吃饭(非抽象)
? 猫类继承自动物
? 行为:捉老鼠

动物类

package com.csdn.day03.three;
//?	动物类:
//?	属性:名称、年龄、性别
//?	行为:吃饭(非抽象)
public class Animal {
    private String type;
    private int age;
    private String sex;

    public Animal() {
    }

    public Animal(String type, int age, String sex) {
        this.type = type;
        this.age = age;
        this.sex = sex;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
    //行为 吃饭
    public void eat(){
        System.out.println("动物吃饭");
    }
}

猫类

package com.csdn.day03.three;
//猫类
// 行为:捉老鼠
public class Cat extends Animal{
    public void cMouse(){
        System.out.println("捉老鼠");
    }
}

测试类

package com.csdn.day03.three;

public class Test03 {
    public static void main(String[] args) {
        Animal a = new Cat();
        a.eat();
        //向下转型 : 从父类类型, 转换回子类类型
        Cat c = (Cat) a;
        c.cMouse();
    }
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:37:29  更:2021-12-02 16:39:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:44:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码