首页 > 编程语言 >管状灯Java

管状灯Java

时间:2024-12-22 21:55:24浏览次数:5  
标签:watts Java int Light indicator color 管状 public

(1)编写1个 Light 类,该类是对灯的描述,该类拥有:

1)2个成员变量      watts(私有,整型);//用于存放灯的瓦数;      indicator(私有,布尔类型);//用于存放灯的开或关的状态    

2) 2个构造器方法      Light(int watts) //用于创建具有watts瓦的对象      Light(int watts,boolean indicator) //用于创建具有watts瓦,开关状态为indicator的对象

3) 3个成员方法      public void switchOn()   //开灯,即将灯的状态置为开      public void switchOff()  //关灯      public void printInfo()  //输出灯的瓦数信息和开关状态

(2)编写1个 TubeLight 类,该类是对管状灯的描述,它继承于 Light 类。还拥有:

1) 2个成员变量      tubeLength(私有,整型)  //用于存放灯管的长度      color(私有,String类型)  //用于存放灯光的颜色    

2) 构造器方法      TubeLight(int watts, int tubeLength,String color)  //用于创建具有watts瓦,灯管长度为tugeLength,颜色为 color的对象  

  3)成员方法      public void printInfo()  //打印输出灯的相关信息,包括瓦数、开关信息、长度以及颜色

(3)请写一个测试程序,要求:

1)创建一个管状灯的实例对象,

2)打印输出该灯的相关信息。

效果:

代码:

class Light {
    private int watts;
    private boolean indicator;

    // 构造器方法,用于创建具有watts瓦的对象
    public Light(int watts) {
        this.watts = watts;
        this.indicator = false;
    }

    // 构造器方法,用于创建具有watts瓦,开关状态为indicator的对象
    public Light(int watts, boolean indicator) {
        this.watts = watts;
        this.indicator = indicator;
    }

    // 开灯方法,即将灯的状态置为开
    public void switchOn() {
        this.indicator = true;
    }

    // 关灯方法
    public void switchOff() {
        this.indicator = false;
    }

    // 输出灯的瓦数信息和开关状态
    public void printInfo() {
        System.out.println("该灯瓦数为:" + watts + ";状态为" + (indicator? "开" : "关"));
    }
}
// TubeLight类,对管状灯的描述,继承自Light类
class TubeLight extends Light {
    private int tubeLength;
    private String color;

    // 构造器方法,用于创建具有watts瓦,灯管长度为tubeLength,颜色为color的对象
    public TubeLight(int watts, int tubeLength, String color) {
        super(watts);
        this.tubeLength = tubeLength;
        this.color = color;
    }

    // 重写printInfo方法,打印输出灯的相关信息,包括瓦数、开关信息、长度以及颜色
    public void printInfo() {
        System.out.println("该灯瓦数为:" + getWatts() + ";状态为" + (isIndicator()? "开" : "关") + ";长度为" + tubeLength + ";" + color + "灯光。");
    }

    public int getTubeLength() {
        return tubeLength;
    }

    public String getColor() {
        return color;
    }

    public int getWatts() {
        return super.watts;
    }

    public boolean isIndicator() {
        return super.indicator;
    }
}
// 测试程序
public class TestTubeLight {
    public static void main(String[] args) {
        TubeLight tubeLight = new TubeLight(32, 50, "白色");
        tubeLight.switchOn();
        tubeLight.printInfo();
    }
}

标签:watts,Java,int,Light,indicator,color,管状,public
From: https://blog.csdn.net/feelsuning/article/details/144612411

相关文章

  • JavaWeb案例整体分析---》差旅费报销管理信息系统->>题目详情
    题目详情:差旅费报销管理信息系统1、项目背景:随着企业规模的扩大和业务的复杂化,报销管理成为了企业日常运营中不可或缺的一环。为了提高效率和减少人力成本,许多企业开始引入报销系统来简化和优化报销流程。为了避免人力物力财力浪费、降低办公成本、提高办事效率,是企业领导关注......
  • Java转C++之模板元编程
    模板元编程(TemplateMetaprogramming)入门指南:针对Java程序员的讲解作为一个从Java转到C++的程序员,理解模板元编程(TemplateMetaprogramming,简称TMP)可能会感到有些挑战,特别是其中的语法和概念有很多与Java非常不同的地方。模板元编程是一种强大的技术,它允许我们在编译时......
  • LeetCode100之实现Trie前缀树(208)--Java
    1.问题描述Trie(发音类似"try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。请你实现Trie类:Trie() 初始化前缀树对象。voidinsert(Stringword) 向前缀树中插入字符串 word ......
  • 软硬皆施,助力2025Java面试
    前言我们都知道,现代面试的核心在于考察项目经验、基本技术能力以及个人发展潜力。每一次面试,都是对我们综合能力的一次全面检验,这不仅包括硬技能,也涵盖了软实力的展现。软实力主要体现在简历的精心包装、流畅自信的自我介绍、与面试官的沟通技巧等方面;而硬实力则是我们技术......
  • JAVA没有搞头了吗?
    前言今年的Java程序员群体似乎承受着前所未有的焦虑。投递简历无人问津,难得的面试机会也难以把握,即便成功入职,也往往难以长久。于是,不少程序员感叹:互联网的寒冬似乎又一次卷土重来,环境如此恶劣,努力似乎也变得无足轻重,不如选择躺平。然而,真相果真如此吗?实际上,“寒冬”始终......
  • java + mysql 023Java+学生宿舍管理系统的设计与开发录像(完整源码 + 说明文档 + 演示
     ......
  • java + mysql 024Java+基于SpringBoot的企业客户管理系统录像(完整源码 + 说明文档 +
     ......
  • Java:为什么容器接口中定义的clear()方法具体实现要遍历每个元素并将其设置为null,而不
    以ArrayList为例,其clear()的具体实现为遍历每一个元素,并将其设置为null。publicvoidclear(){modCount++;finalObject[]es=elementData;for(intto=size,i=size=0;i<to;i++)es[i]=null;}笔者作为初学者,很难不产生疑惑,为什么不将s......
  • java-io流
    根据流的方向:输入流(InputStream/Reader):从数据源读取数据到程序中。输出流(OutputStream/Writer):将数据从程序写入到目的地。根据流处理信息的大小:字节流(ByteStreams):以字节为单位处理数据,适用于所有类型的数据传输,如二进制文件。字符流(CharacterStreams):以字符为单位处理数据......
  • 基于Java的班级管理系统的设计与实现 毕业设计-附源码60085
    摘要班级管理是学校管理的重要组成部分,传统的班级管理方式存在效率低下、信息不及时等问题。为了解决这些问题,本文设计并实现了一个基于 Java 的班级管理系统。 本论文旨在设计并实现一个基于 Java 的班级管理系统,以提高班级管理的效率和准确性。该系统采用了SSM框架......