2014-01-19 74 views
0

我正在学习Java,让我感到惊讶的是你不会创建一个类的对象。例如:为什么你不需要在Java中创建对象?

class helloworld{ 
    public static void main(String[] args){ 
    System.out.println("Hello world!"); 
    } 
} 

我不明白的是,我一直认为一个类的对象蓝图,而在这里你没有创建一个对象,程序简单地从类中运行。是否创建了一个从隐式运行main方法的对象?我没有完全说这句话,并假设我错过了一些理解 - 有人可以解释吗?

+0

这正是'static'关键字的作用。 –

+0

你*会*在Java中创建大量对象。这恰好是程序的入口点,它将启动对象创建代码。 – chrylis

+0

该类被加载到内存中。但它的实例不是作为main创建的()是静态的..它只需要类而不是类的实例... – TheLostMind

回答

4

“作为对象蓝图的类”是描述现实的Java 101方法。它有助于教你什么是类和对象,但这不是全部的事实。

类也是静态代码和数据的持有者,它们独立存在,独立于任何类实例。您可以将其视为一种名称空间的全局数据。

在您的例子中,main方法本身是这样的静态方法,它可以在没有现有对象被执行,并System.out指存在于它自己的一个对象,连接到一个静态变量在类System

+0

准确而明确的答案 – Keerthivasan

+0

+1必须通过几次才能阅读它,但我想我现在明白了 - 感谢您及时的回复! – user2521439

0

如果您在java中只使用静态方法和变量,那么该类的所有对象共享相同的变量和方法,您不必创建对象并调用。 另外主要的方法是运行代码的入口点

0

你在java中创建对象。 static关键字显示变量,方法或嵌套类属于类/超类,而不属于对象。主要的方法被声明为静态的,以便它可以在运行时被访问;它不是一个对象的一部分,它是这个类的一部分。 JVM在运行时查找主要方法。

0
  • 公共意味着它可以来自任何类的静态

  • 静态访问意味着你不必创建对象或其他文字没有必要的 的new和你所问的有关

  • 表示它不会返回值
相关问题