Java基础-day10-代码题-继承&抽象类
时间:2022-05-04
本文章向大家介绍Java基础-day10-代码题-继承&抽象类,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.门类继承题:
编写代码,实现如下功能:
(1)定义一个门类,
包含3个属性:宽度width 和 高度height ,颜色color
包含2个方法:开门和关门
开门方法:输出“门已经打开,请进!”
关门方法:输出“门已经关闭,禁止进入!”
(2)定义一个木头门WOOD,继承Door
重写父类开门方法:输出门的高度 宽度 颜色 +“门已经打开,请进!”
重写父类关门方法:输出门的高度 宽度 颜色 +“门已经关闭,禁止进入!”
(3)定义一个测试类,测试类定义一个main方法
分别创建 门对象 和 木头门对象, 为创建的木头门对象属性赋值, 调用开门和关门两个方法。
代码实现:
package StudentJavaSEday10;
class Door {
// 定义属性
private double width;
private double hight;
private String color;
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHight() {
return hight;
}
public void setHight(double hight) {
this.hight = hight;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
//开门方法
public void openDoor(){
System.out.println("门已经打开,请进!");
}
//关门方法
public void closeDoor(){
System.out.println("门已经关闭,禁止进入!");
}
}
package StudentJavaSEday10;
class WoodDoor extends Door {
// 重写开门方法
public void openDoor() {
System.out.println("门的宽度为:" + getWidth() + ",高度为:" + getHight() + ",颜色:" + getColor() + ",门已经打开,请进!");
}
// 关门方法
public void closeDoor() {
System.out.println("门的宽度为:" + getWidth() + ",高度为:" + getHight() + ",颜色:" + getColor() + ",门已经关闭,禁止进入!");
}
}
package StudentJavaSEday10;
public class Demo{
public static void main(String[] args) {
//创建门对象
Door door = new Door();
// 调用方法
door.openDoor();
door.closeDoor();
// 创建木头门对象
WoodDoor woodDoor = new WoodDoor();
//调用set方法对属性赋值
woodDoor.setWidth(1.8);
woodDoor.setHight(2.5);
woodDoor.setColor("红色");
// 调用方法
woodDoor.openDoor();
woodDoor.closeDoor();
}
}
运行结果:
2.动物类重写题
1、定义动物类,有名称和年龄两个属性,且属性私有化,提供相应的getXxx与setXxx方法,提供无参数的无返回值的吃饭方法,内容为:“吃饭...”;
2、定义猫类,继承动物类,重写父类中的吃饭方法,内容为:“猫吃鱼...”
3、定义狗类,继承动物类,重写父类中的吃饭方法,内容为:“狗吃骨头...”
4、定义测试类,分别创建猫对象和狗对象,并分别给父类对象中的名称和年龄属性赋值;
5、分别使用猫对象和狗对象获取名称和年龄的属性值并打印在控制台上;
6、分别使用猫对象和狗对象调用吃饭方法;
代码实现:
package StudentJavaSEday10;
/*
* 动物类:
* 属性:
* 名称
* 年龄
* 方法:
* 吃饭方法
* getXxx与setXxx
*/
public class DongWu {
// 属性
private String name;
private int age;
// getXxx与setXxx
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 吃饭方法
public void chiFan() {
System.out.println("吃饭...");
}
}
package StudentJavaSEday10;
/*
* 狗类继承动物类
*/
public class Gou extends DongWu{
public void chiFan() {
System.out.println("狗吃骨头...");
}
}
package StudentJavaSEday10;
/*
* 猫类继承动物类:
*/
public class Mao extends DongWu{
//重写吃饭的方法;
public void chiFan() {
System.out.println("猫吃鱼...");
}
}
package StudentJavaSEday10;
/*
* 测试类
*/
public class Test {
public static void main(String[] args) {
// 1、分别创建猫对象和狗对象,并分别给父类对象中的名称和年龄属性赋值
Mao m = new Mao();
m.setName("波斯猫");
m.setAge(3);
Gou g = new Gou();
g.setName("哈巴狗");
g.setAge(2);
// 2、分别使用猫对象和狗对象获取名称和年龄的属性值并打印在控制台上;
String name = m.getName();
int age = m.getAge();
String name2 = g.getName();
int age2 = g.getAge();
System.out.println("猫的名字为:" + name + ";年龄为:" + age);
System.out.println("狗的名字为:" + name2 + ";年龄为:" + age2);
// 3、分别使用猫对象和狗对象调用吃饭方法
m.chiFan();
g.chiFan();
}
}
运行结果:
- golang 字符串操作实例
- 【团队分享】刀锋铁骑:常见Android Native崩溃及错误原因
- OpenShift企业版安装:单Master集群
- http线程池的设计与实现(c++)
- iOS崩溃堆栈符号化,定位问题分分钟搞定!
- Duang~ Android堆栈慘遭毁容?精神哥揭露毁容真相!
- Java学习笔记第一篇:坦克大战游戏
- 腾讯Bugly Unity3D Plugin使用指南
- 远丰集团旗下CMS疑有官方后门
- 前端黑魔法之远程控制地址栏
- 信息收集利器:ZoomEye
- go sync.Mutex 设计思想与演化过程 --转
- 漏洞预警 | Ubuntu 16.04版本存在本地提权漏洞(附EXP)
- 通过“震网三代”和Siemens PLC 0day漏洞,实现对工控系统的入侵实验
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- dotnet 新 SDK Style 项目格式如何使用 InternalsVisibleToAttribute 功能
- WPF dotnet core 如何开启 Pointer 消息的支持
- web Storage的特点
- 四、实现跨域访问
- hadoop集群搭建
- java和node.js使用md5算法实现对数据的加密与加盐操作
- 反射--调用构造方法
- ABAP,Java和JavaScript的local class
- mysql查看被锁住的表
- Putty个性化配置
- Windows10子系统(WSL)修改安装目录
- 二、JSON数据格式
- 一、Ajax的基本用法
- 图解HTTP读书笔记
- Flutter性能调优、复杂业务保证Flutter的高性能高流畅