0

I am not able to create a java.awt.Rectangle object in following code. However, I can still create Rectangle object... Please explain why is it so?

package examples;
import java.awt.*;
public class Rectangle {
    public static void main(String[] args) {
        java.awt.Rectangle rect = new Rectangle();
        System.out.println(rect.toString());    
    }
}
4

3 回答 3

7

请解释为什么会这样?

正在创建Rectangle类的实例,但试图将其分配给java.awt.Rectangle变量。您可以将其更改为:

java.awt.Rectangle rect = new java.awt.Rectangle();

当然,您应该首先尽可能避免此类命名冲突,但您始终可以使用完全限定名称,只要该类位于包中即可。(默认包中的事情变得更加棘手,您应该避免这种情况。)

于 2013-05-28T07:57:17.200 回答
0

您的班级从包中Rectangle隐藏了班级。您需要完全限定的名称:Rectanglejava.awt

java.awt.Rectangle rect = new java.awt.Rectangle();
于 2013-05-28T07:57:50.590 回答
0

喜欢

package examples;
import java.awt.*;

public class Rectangle {
public static void main(String[] args) {
    java.awt.Rectangle rect = new java.awt.Rectangle();
    System.out.println(rect.toString());    
}
}
于 2013-05-28T07:58:33.387 回答