首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java的继承有关问题

2012-04-10 
java的继承问题(1)编写1个Light类,该类是对灯的描述,该类拥有:1) 2个成员变量watts(私有,整型);//用于存放

java的继承问题
(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)创建一个管状灯的实例对象,该灯瓦数为:32;长度为50;白色灯光,状态为开。
2)打印输出该灯的相关信息。



[解决办法]
好好试着写,在java中太简单了
[解决办法]
类的编码自己搞定吧。对于要求可以说明几点:
1)创建一个管状灯的实例对象,该灯瓦数为:32;长度为50;白色灯光,状态为开。
:赋值可以用带参数构造方法
2)打印输出该灯的相关信息。
:重写toString方法
[解决办法]
个人觉得Light类的成员变量应该为protect类型的,因为TubeLight类继承Light并且用到这些变量。代码如下:

Java code
class Light{    protected int watts;//存放灯的瓦数        protected boolean indicator;//用于标识开关        Light (int watts){//含有一个参数的构造方法        this.watts = watts;    }        Light(int watts, boolean indicator){//含有两个参数的构造方法        this.indicator = indicator;        this.watts = watts;    }        public void switchOn(){ //开灯,即将灯的状态置为开        indicator = true;    }          public void switchOff(){ //关灯          indicator = false;      }            public void printInfo(){ //输出灯的瓦数信息和开关状态          System.out.println("the watts: "+watts+".");          System.out.println("the indicator: "+indicator+".");      }}class TubeLight extends Light{    private int tubeLight;//用于存放灯管儿的长度        private String color;//用于存放灯管儿的颜色        TubeLight(int watts, int tubeLight, String color)//带三个参数的的构造方法    {        super(watts);        this.tubeLight = tubeLight;        this.color = color;    }        public void printInfo(){ //输出灯的瓦数信息和开关状态          super.printInfo();          System.out.println("the tubeLight: "+tubeLight);          System.out.println("the color: "+color);      }}public class Test{//测试类    public static void main(String[] args)    {        Light light = new TubeLight(32, 50, "white");                light.switchOn();                light.printInfo();    }}
[解决办法]
Java code
public class Light {    private int watts;   //(私有,整型);//用于存放灯的瓦数;    private boolean indicator;//(私有,布尔类型);//用于存放灯的开或关的状态    public Light(int watts){        this.watts=watts;    } //用于创建具有watts瓦的对象    public Light(int watts,boolean indicator){        this.watts=watts;        this.indicator=indicator;    } //用于创建具有watts瓦,开关状态为indicator的对象      public void switchOn(){          this.indicator=true;      } //开灯,即将灯的状态置为开      public void switchOff(){          this.indicator=false;      } //关灯      public void printInfo(){          System.out.println(this.watts+" "+this.indicator);      } //输出灯的瓦数信息和开关状态} 

热点排行