问题:有一个水果箱(Box),箱子里装有水果(Fruit),每一种水果都有不同的重量和颜色,水果有:苹果、梨、桔子。每个苹果(Apple)都有不同的重量和颜色,每个桔子(Orange)都有不同的重量和颜色。

思路:

1)首先要有一Fruit父类,及其3个子类Apple、Pear、Orange。

a、Fruit父类的属性:color、weight;

显示信息方法:改写toString方法使其返回水果名(getClass().getName())、重量、颜色的字符串。

b、子类Apple、Pear、Orange只需完善带参构造进行赋值。(子类构造方法首先进行父类构造super())。

2)Box类:

声明一个ArrayList来存水果对象;

void addFruit(Fruit f);

Fruit getFruit()取出水果并打印其信息(调用toString())。

3)Test测试类(主方法):

实例化Box、Apple、Pear、Orange;

然后调用Box的addFruit(),getFruit()方法。

截图:

代码:

package fruitBox;

public class Fruit {

String color;//属性

double weight;

public Fruit(){

}

public String toString(){//显示信息的方法

return "水果:"+getClass().getName()+"重量:"+weight+"颜色:"+color;

}

```}package fruitBox;

public class Apple extends Fruit{

public Apple(String color, double weight) {//带参构造

super();//父类构造

this.color=color;//赋值

this.weight=weight;

}

}

package fruitBox;

public class Pear extends Fruit{

public Pear(String color, double weight) {//带参构造

super();//父类构造

this.color=color;//赋值

this.weight=weight;

}

}

package fruitBox;

public class Orange extends Fruit{

public Orange(String color, double weight) {//带参构造方法

super();//父类构造

this.color=color;//赋值

this.weight=weight;

}

}

package fruitBox;

import java.util.*;

public class Box {

ArrayListarraylist=new ArrayList();//容器

public void addFruit(Fruit f){//add方法传的参数是Fruit对象

arraylist.add(f);

}

public Fruit getFruit(){

Fruit fruit=arraylist.get(arraylist.size()-1);//用一个Fruit对象接收获取的是最后放进去的那个

System.out.println(fruit.toString());//接收完然后打印调用toString方法

return null;

}

}

package fruitBox;

public class Test {

public static void main(String[] args) {

Box box=new Box();//实例化对象

Apple apple=new Apple("red",1.2);

Pear pear=new Pear("Green",0.2);

Orange orange=new Orange("yellow",0.3);

box.addFruit(apple);//添加

box.getFruit();//打印

box.addFruit(pear);

box.addFruit(orange);

box.getFruit();

}

}

标签:Java,Apple,weight,--,color,Fruit,Orange,public,SE

来源: https://blog.csdn.net/qq_45618376/article/details/111395774

用JAVA编写一个水果箱,Java SE 第四章类之间的关系--水果箱编程题相关推荐

  1. 《Java 核心技术卷1 第10版》学习笔记------ 类之间的关系

    在类之间, 最常见的关系有 •依赖 (" uses-a") •聚合(" has-a") •继承(" is-a") 依赖( dependenc ...

  2. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  3. 用java编写一个简单计算器

    java 采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt. ...

  4. java 程序输出 赵_编写一个完整的JAVA的程序

    编写一个完整的JAVA的程序 关注:84  答案:1  mip版 解决时间 2021-02-05 08:43 提问者妳螚鬧俄螚笑 2021-02-05 02:59 1,接口Person Show()方 ...

  5. Java制作一个盒子程序_编写一个简单的Java程序,模拟计算器的功能。

    提问:编写一个简单的Java程序,模拟计算器的功能. 网友回答: 程序参考: import java.awt.*; import java.awt.event.ActionEvent; import ...

  6. 停车场管理系统 java_使用java编写一个停车场管理系统

    使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...

  7. java编写一个个人通信录程序

    Java编写一个个人通信录程序,具有如下功能: (1)定义一个类,包括姓名.邮政编码.通信地址等成员变量 (2)查找:根据姓名在文件中查找个人信息,如果找到则显示出来 (3)添加:向文件中写个人信息 ...

  8. java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数。另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码。

    java编写一个彩票开奖的模拟程序.游戏共有两种玩法,一种是21选5,即玩家输入5个1到21内的不重复的数.另外一种玩法是6+1玩法,即要求玩家输入7个整数,代表所购买的彩票号码,最后一个是特码. 具 ...

  9. java编写一个表示二维平面_JAVA习题集2精品名师资料.doc

    导读:java习题集2.doc,习题二一.判断题 1.一个类定义了一个或多个构造方法,则 Java 不提供默认的构造方法.( ) 2.如果定义的类中没有给出构造方法,系统也不会提供构造方法.( ) 3 ...

最新文章

  1. mysql数据库复制基本原理_MySQL的复制原理以及流程
  2. 定期定量采购_?采购计划员必备:各种物料采购计划与订单制定的技巧与方法...
  3. 主成分分析(PCA)及其可视化——matlab
  4. LightOj_1265 Island of Survival
  5. Windows:将cmd命令行添加到右键中方法
  6. es6 Generator函数概述
  7. 学计算机好轻松,猎证全国计算机等级考试学习系统
  8. EventBus 使用介绍
  9. 《写给大家看的设计书》封面设计基本要求
  10. python 运算符重载_一锅类似函数重载的小杂烩
  11. Ka的回溯编程练习 Part4|分配工作与选书
  12. vcs与quartus联合仿真
  13. 关于集合set()补充
  14. ATMEGA128定时器1的使用
  15. java编写工字鼠标光标,鼠标指针的形状及含义
  16. 如何在Excel里输入可以打钩的选择框?
  17. win7笔记本设置WiFi热点详解
  18. 重启计算机请等待当前程序完成卸载,Win7卸载软件提示“请等待当前程序完成卸载或更改”要怎么办呢?...
  19. android 仿微信demo————微信发现界面实现
  20. 计算机组成原理-哈工大刘宏伟(第一篇)

热门文章

  1. SRS4.0源码分析-main
  2. 试简述smtp通信的三个阶段的过程_通信原理简答题汇总
  3. 从VirtualDom(虚拟Dom)到真实DOM
  4. ¤转 Mysql双机热备实现
  5. POSA2 关于本书
  6. html需要电脑什么配置,买电脑主要看什么配置和参数
  7. 支付渠道接入设计及实现
  8. AndroidViewAnimations:Andorid视图动画合集YOYO
  9. Python 获取 网易云音乐热门评论(python2/python3代码)
  10. ARM寄存器组织与异常处理