Java OOP概念

时间:2013-06-10 05:44:24

标签: java oop object-oriented-analysis

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

从上面开始,如果我们说MyClass是类,而public static void main(String[] args)是方法,那么我想知道代码的哪一部分将被视为对象。

如果我们说类有对象和对象都有方法,那么在上面的代码中,哪个部分是对象?这里有没有创建对象?

4 个答案:

答案 0 :(得分:7)

static方法不属于对象引用,而是属于类。您可以在不创建类实例的情况下执行static方法。知道这一点,这里创建的唯一对象引用将是:

  • String[] args object
  • String数组内的每个args
  • "Hello world" String

请注意,args及其内容不是由您创建的,JVM会这样做(感谢Thilo的评论)。

答案 1 :(得分:4)

在上面的例子中,没有创建类的对象。要做到这一点,你需要写:

MyClass myclass = new MyClass();

答案 2 :(得分:0)

那里没有创建对象。因为这是程序启动的主要方法。 如果它不是static,否则,它将需要instance对象的执行。

答案 3 :(得分:0)

静态方法无需创建要执行的对象。加载类时,类上的静态成员由JVM自动加载。

特别是在Java中执行时,JVM会找到main方法并从执行开始执行它。

然后,执行main方法中的每个语句直到终止点。

在main方法中,String args[]是一个对象数组,当您需要通过命令行传递参数时,它非常有用。

因此,在 JVM 上加载类时,最后{strong} {<1}}方法执行。因此,我们不需要static方法执行的实例/对象

那么何时在JVM上加载main方法?初始化时会加载它以创建像这样的任何对象

main

它调用默认构造函数MyClass myobj = new MyClass(); 并加载类