文档章节

Java 面向对象 之 对象数组

全部原谅
 全部原谅
发布于 08/15 13:10
字数 469
阅读 2
收藏 0

http://www.verejava.com/?id=16992784958543

/**
    知识点: 对象数组
        1. 对象数组的使用
        2. 对象数组的foreach 增强for循环
        3. 可变参数

    题目:乘客一次只能带2个箱子免费上飞机
    思路:
        1. 抽象出类 乘客(Customer)  , 箱子(Box)
        2. 乘客和箱子的关系  1对2的关系 Box->Customer
*/
public class ObjectArray {
    
    public static void main(String[] args) {
        //实例化一个乘客
        Customer c = new Customer("黎明");

        //实例化两个箱子一个装衣服, 一个装书
        Box clothBox = new Box("装衣服");
        clothBox.setId(1);
        clothBox.setWeight(20);

        Box bookBox = new Box("装书");
        bookBox.setId(2);
        bookBox.setWeight(30);

        //将箱子添加到乘客
        c.addBox(clothBox);
        c.addBox(bookBox);

        //打印该乘客的信息
        System.out.println("乘客姓名: " + c.getName());
        System.out.println("箱子编号, 箱子重量, 箱子描述");
        Box[] boxes = c.getBoxes();
        for (Box box : boxes) {
            System.out.println(box.getId() + "," + box.getWeight() + "," + box.getDescription());
        }

        //测试可变参数
        Box[] boxes2 = { clothBox, bookBox };
        c.setBoxes();//不传参数
        c.setBoxes(clothBox);//传一个参数
        c.setBoxes(boxes2);//传一个数组
        boxes = c.getBoxes();
        for (Box box : boxes) {
            System.out.println(box.getId() + "," + box.getWeight() + "," + box.getDescription());
        }
    }
}

class Customer {
    
    private String name;//乘客名字
    private Box[] boxes = new Box[2];//箱子属于乘客, 添加箱子引用

    public Customer(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Box[] getBoxes() {
        return this.boxes;
    }

    //乘客携带添加的箱子
    //返回值: 如果添加成功返回true 否则false
    public boolean addBox(Box box) {
        for (int i = 0; i < boxes.length; i++) {
            if (boxes[i] == null) {
                boxes[i] = box;
                return true;
            }
        }
        return false;
    }

    public void setBoxes(Box... boxes) {
        this.boxes = boxes;
    }
}

class Box {
    private float weight;//箱子的重量
    private int id;//箱子的编号
    private String description;//描述

    public Box(String description) {
        this.description = description;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getId() {
        return this.id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public float getWeight() {
        return this.weight;
    }

    public void setWeight(float weight) {
        this.weight = weight;
    }

}

http://www.verejava.com/?id=16992784958543

 

>>>阅读全文

本文转载自:https://yq.aliyun.com/articles/625118?utm_content=m_1000012728

共有 人打赏支持
全部原谅
粉丝 3
博文 470
码字总数 1041
作品 0
邯郸
用 JNI 进行 Java 编程(4)

高级主题 概述 从 Java 程序内调用本机代码破坏了 Java 程序的可移植性和安全性。尽管已编译的 Java 字节码保持了很好的可移植性,但必须为您打算用来运行该应用程序的每个平台重新编译本机代...

Jerikc
2012/10/08
0
0
大数据开发培训:0基础学习Java编程语言有哪些知识点?

Java 技术通用、高效、具有平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,学习Java首先要知道学习知识点有哪些。在这就用加米谷大数据培训...

加米谷大数据
07/25
0
0
作为一个java程序员这些技能你都知道吗?

一、Java特点 1、 面向对象 尽管受到其前辈的影响,但Java没被设计成兼容其他语言源代码的程序。这允许Java开发组自由地从零开始。这样做的一个结果是,Java语言可以更直接、更易用、更实际的...

java高级架构牛人
05/23
0
0
有一到五年开发经验的JAVA程序员需要掌握的知识与技能!

JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此...

java高级架构牛人
06/02
0
0
JVM基础:深入学习JVM堆与JVM栈

以前堆是干啥栈是干啥都知道,就是没连在一起想想。感觉讲的不错的一篇儿~~JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题,即数据怎么放、放在...

李星
2014/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash工作管理详解

Bash工作管理 Bash的工作是对具体任务的一个抽象表述,更确切的说是对管道的应用上的表述。Bash中的工作在形式上表现为一组相关进程或单个进程。工作进程组分为前台和后台,前台进程会对键盘...

小陶小陶
14分钟前
2
0
Qt那些事0.0.1

LIBS += -L$$PWD/lib/ -lStv1QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll pro文件里,写起来按理说应该是轻松地......

Ev4n
23分钟前
2
0
如何正确的使用动态VPS(Linux)自动更换IP

背景 现在越来越多的人开始玩网赚项目,蚂蚁再小也是肉,薅羊毛的羊毛党越来越多,一些网赚项目也越来越受欢迎,但是一般的网赚项目都是要求真实用户的,所以要想获得大量的真实ip,一种动态...

bengozhong
30分钟前
1
0
分布式任务系统(LTS)部署学习使用

章节速览 背景介绍 环境部署 LTS架构原理&代码样例 个人心得经验 一、背景介绍 很多公司应该都会遇到job服务部署执行时:定时、并发、分布式这些问题。有的人就是只跑一个job服务,这样会简单...

硅步积千里
40分钟前
29
0
kotlin使用spring data redis(一)

1.引包 #忘记引用这个包的下场就是#nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfigcompile 'org.apache.commons:commons-p......

weidedong
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部