# 问题和练习：对象

> 原文： [https://docs.oracle.com/javase/tutorial/java/javaOO/QandE/objects-questions.html](https://docs.oracle.com/javase/tutorial/java/javaOO/QandE/objects-questions.html)

## 问题

1.  以下程序有什么问题？

    ```
    public class SomethingIsWrong {
        public static void main(String[] args) {
            Rectangle myRect;
            myRect.width = 40;
            myRect.height = 50;
            System.out.println("myRect's area is " + myRect.area());
        }
    }

    ```

2.  以下代码创建一个数组和一个字符串对象。代码执行后，对这些对象有多少引用？对象是否有资格进行垃圾回收？

    ```
    ...
    String[] students = new String[10];
    String studentName = "Peter Parker";
    students[0] = studentName;
    studentName = null;
    ...

    ```

3.  程序如何破坏它创建的对象？

## 演习

1.  修复问题 1 中显示的名为`SomethingIsWrong`的程序。

2.  给定以下类，称为 [`NumberHolder`](NumberHolder.java) ，编写一些创建类实例的代码，初始化其两个成员变量，然后显示每个成员变量的值。

    ```
    public class NumberHolder {
        public int anInt;
        public float aFloat;
    }

    ```

[检查你的答案。](objects-answers.html)