开发者

Java import class System

I have a question on class imports, It seems you can call a method with a reduced line if you have imported the class. I don't understand what is the name of this operation, and how is it possible...

For instance :

Why this code

public class test 
{
        public static void main  (String args[])
        {
                System.out.print("Test");
        }
}

Can be replaced by

import static java.lang.System.out;

public class test 
{
        public static void main  (String args[])
        {
                out.print("T开发者_如何转开发est");
        }
}

What happens if you have also an object named "out" ?

Thanks in advance


What happens is that out from external class must be referenced by full name:

String out = "Hello World";
java.lang.System.out.println(out);


The variable out will shadow the static import and you will have to use the full name in order to use the function print.

import static java.lang.System.out;
public class Tester5 {
  public static void main (String args[]) {
    int out=0;
    out.print("Test");
  }
}

yields "cannot invoked print(String) on primitive type int. The same error is shown if out is an object.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜