【发布时间】:2017-03-31 03:36:54
【问题描述】:
比较我打印此类成员值的方式,在静态方法(main)与非静态方法(打印方法)中。在静态方法中,我需要使用这个类的一个对象,而在非静态方法中,我可以直接引用类成员。
我了解 static 的范围是类范围的,并且与对象无关。有人可以详细说明为什么我需要在静态方法中使用对象,而在非静态方法中不需要它。
public class TreeDriver {
Tree tree;
TreeNode p;
public TreeDriver() {
tree = new Tree();
p =null;
}
public static void main(String[] args) {
TreeDriver obj = new TreeDriver();
obj.print(obj.tree.root, obj.p);
}
public void print(TreeNode nodeA, TreeNode nodeB)
{
System.out.print(nodeA.val + ", " + nodeB.val);
System.out.print(tree.root.val + ", " + p.val);
}
}
【问题讨论】:
标签: java oop static static-methods