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();
}
}
运行结果:
- 《iPhone X ARKit Face Tracking》
- 结合标签广告,定制一个QQ邮箱订阅
- SecureCRT全局发送相同命令,快速抓取服务器信息的方法
- [不定期更新]简单的shell脚本练习实例
- 超简单的MySQL主从复制配置步骤
- 解决Centos下vsftp无法上传文件的问题,附vsftp配置详解
- 为iFrame添加动态载入效果,提高用户体验
- 分享超炫的表白页面和爱的纪念日源码
- 分享WordPress Mobile Pack汉化精简版及隐藏指定插件更新提示的方法
- Tomcat重启脚本For Windows
- js获取url中?后的参数,修复移动版无法切换到电脑版的BUG
- nginx配置文件参数详解
- LVS中Windows作为真实主机(RealServer)时的设置方法
- 菜鸟教程:Ngnix安装详解
- 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 文档注释
- Android编程实现播放音频的方法示例
- 使用VSCode的Remote-SSH连接Linux进行远程开发
- Android ListView之EfficientAdapte的使用详解
- JavaScript:ECMAScript 2020中的新增功能
- Android编程实现播放视频的方法示例
- Android开发之RadioGroup的简单使用与监听示例
- Android 根据手势顶部View自动展示与隐藏效果
- Vue 3 如何安装
- Android实现状态栏(statusbar)渐变效果的示例
- Linux中stat函数和stat命令使用详解
- Android Beam 文件传输失败分析与解决方法
- Android实现修改状态栏背景、字体和图标颜色的方法
- Android视频压缩的示例代码
- Android如何从实现到封装一个MVP详解
- Android利用爬虫实现模拟登录的实现实例