Stack newStack = new Stack();
newStack.push(0);
或
Stack.push(0);
注意:这里Stack是一个用户定义的类,在java中手动实现堆栈的概念,而不是预定义的。
这就允许拥有多个堆栈用于不同的目的。
Stack newStack = new Stack();
newStack.push(0);
当使用这个时,我们可以只拥有一个堆栈。
Stack.push(0);
我更喜欢第一种方式,因为它允许同时初始化多个堆栈,而第二种方式做不到。
在第一个例子中。push
的非静态方法。Stack
类。 为了使用 push
方法,你必须创建一个实例的 Stack
类。
Stack newStack = new Stack();
newStack.push(0);
相当于匿名实例的代码是。
new Stack().push(0);
在这种情况下,这将是一种无用的,因为你最终会想要 pop
您创建的堆栈。
在第二个例子中。push
的静态方法。Stack
类。
Stack.push(0);
南都-拉吉的回答是正确的,你只能有一个。Stack
而不是一个以上的非静态的 push
方法。
创建和使用非静态方法一般是比较好的编程实践,不过也有一些情况,比如Java的 Math
类,其中静态方法效果更好。