1.定义一个家用电器类Appliance作为父类,定义两个抽象方法:开启open()和关闭close();
2.定义一个电源接口Power,定义一个抽象方法:通电getElectricity();
3.定义一个洗衣机子类,继承家用电器类的同时实现电源接口,重写抽象方法;
4.定义一个电饭煲子类,继承家用电器类的同时实现电源接口,重写抽象方法;
5.定义测试类,创建子类对象,调用重写的方法和子类特有的方法。
要求输出结果如图
abstract class Appliance {
public abstract void open();
public abstract void close();
}
interface Power {
void getElectricity();
}
class XiYiJi extends Appliance implements Power {
@Override
public void open() {
System.out.println("开启洗衣机");
}
@Override
public void close() {
System.out.println("关闭洗衣机");
}
@Override
public void getElectricity() {
System.out.println("洗衣机通电了");
}
public void wash() {
System.out.println("洗衣机正在洗衣");
}
}
class DianFanBao extends Appliance implements Power {
@Override
public void open() {
System.out.println("开启电饭煲");
}
@Override
public void close() {
System.out.println("关闭电饭煲");
}
@Override
public void getElectricity() {
System.out.println("电饭煲通电了");
}
public void cook() {
System.out.println("电饭煲正在煮饭");
}
}
public class Test01 {
public static void main(String[] args) {
final XiYiJi xiYiJi = new XiYiJi();
xiYiJi.getElectricity();
xiYiJi.open();
xiYiJi.wash();
xiYiJi.close();
System.out.println("-------分割线--------");
final DianFanBao dianFanBao = new DianFanBao();
dianFanBao.getElectricity();
dianFanBao.open();
dianFanBao.cook();
dianFanBao.close();
}
}
代码如下:
package com.example.test.zz.test;
/**
* @author xiaoxiaoyezu
* @date 2022/12/21
* @desc default
**/
public abstract class Appliance {
String open() {
return null;
}
String close(){
return null;
}
}
==============================================
package com.example.test.zz.test;
/**
* @author xiaoxiaoyezhu
* @date 2022/12/21
* @desc default
**/
public class DFB extends Appliance implements Power{
@Override
public String open() {
return "开启电饭煲";
}
@Override
String close() {
return "关闭电饭煲";
}
@Override
public String getElectricity() {
return "电饭煲通电了";
}
}
===========================================
package com.example.test.zz.test;
/**
* @author xiaoxiaoyezhu
* @date 2022/12/21
* @desc default
**/
public class XYJ extends Appliance implements Power {
@Override
public String open() {
return "开启洗衣机";
}
@Override
String close() {
return "关闭洗衣机";
}
@Override
public String getElectricity() {
return "洗衣机通电了";
}
}
=================================================
package com.example.test.zz.test;
/**
* @author xiaoxiaoyezu
* @date 2022/12/21
* @desc default
**/
public interface Power {
String getElectricity();
}
package com.example.test.zz.test;
/**
* @author xiaoxiaoyezhu
* @date 2022/12/21
* @desc default
**/
public class Test {
public static void main(String[] args) {
XYJ xyj = new XYJ();
System.out.println(xyj.getElectricity());
System.out.println(xyj.open());
System.out.println(xyj.close());
System.out.println("------------分割线-----------");
DFB dfb = new DFB();
System.out.println(dfb.getElectricity());
System.out.println(dfb.open());
System.out.println(dfb.close());
}
}
截图:
// 1. 定义家用电器类 Appliance
public
abstract class Appliance
{
// 2.1 定义开启方法 open()
public
abstract void open();
// 2.2 定义关闭方法 close()
public
abstract void close();
}
// 3. 定义电源接口 Power
public interface Power {
// 3.1 定义通电方法 getElectricity()
void getElectricity();
}
// 4.1 定义洗衣机类,继承家用电器类 Appliance 并实现电源接口 Power
public class WashingMachine extends Appliance implements Power
{
// 4.2 重写抽象方法 open()
@Override public void open()
{
System.out.println("开启洗衣机");
}
// 4.3 重写抽象方法 close()
@Override public void close()
{
System.out.println("关闭洗衣机");
}
// 4.4 重写抽象方法 getElectricity()
@Override public void getElectricity()
{
System.out.println("洗衣机通电了");
}
// 4.5 定义洗衣方法
public
void wash()
{
System.out.println("洗衣机正在洗衣");
}
}
// 5.1 定义电饭煲类,继承家用电器类 Appliance 并实现电源接口 Power
public class RiceCooker extends Appliance implements Power
{
// 5.2 重写抽象方法 open()
@Override public void open()
{
System.out.println("开启电饭煲");
}
// 5.3 重写抽象方法 close()
@Override public void close()
{
System.out.println("关闭电饭煲");
}
// 5.4 重写抽象方法 getElectricity()
@Override public void getElectricity()
{
System.out.println("电饭煲通电了");
}
// 5.5 定义做饭方法
public
void cook()
{
System.out.println("电饭煲正在做饭");
}
}
// 6. 定义测试类
public class Test
{
public
static void main(String[] args)
{
// 6.1 创建洗衣机对象
WashingMachine washingMachine = new WashingMachine();
// 6.2 调用洗衣机的通电方法
washingMachine.getElectricity();
// 6.3 调用洗衣机的开启方法
washingMachine.open();
// 6.4 调用洗衣机的洗衣方法
washingMachine.wash();
// 6.5 调用洗衣机的关闭方法
washingMachine.close();
// 6.6 输出分割线
System.out.println("---------分割线---------");
// 6.7 创建电饭煲对象
RiceCooker riceCooker = new RiceCooker();
// 6.8 调用电饭煲的通电方法
riceCooker.getElectricity();
// 6.9 调用电饭煲的开启方法
riceCooker.open();
// 6.10 调用电饭煲的做饭方法
riceCooker.cook();
// 6.11 调用电饭煲的关闭方法
riceCooker.close();
}