栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 接口与多态及基础练习题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631759.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号