Java 这个类中有多少个对象?
你能告诉我这个类有多少个对象吗?是()方法还是整数对象?我不明白是否有静态方法,变量,我们不需要对象来调用它们,但如何调用呢?是吗?这是什么意思如果运行代码,您将得到Java 这个类中有多少个对象?,java,Java,你能告诉我这个类有多少个对象吗?是()方法还是整数对象?我不明白是否有静态方法,变量,我们不需要对象来调用它们,但如何调用呢?是吗?这是什么意思如果运行代码,您将得到 public class A { private static int a=0; private static A a() { a++; return new A(); } public static void main(String[] args) {
public class A {
private static int a=0;
private static A a()
{
a++;
return new A();
}
public static void main(String[] args) {
// main method will not be changed
System.out.println(a);
System.out.println(a().a);
System.out.println(a().a().a);
System.out.println(a().a().a);
}
}
/*
* expected output
* 0
* 1
* 3
* 5
* 7
即使“a
”是一个静态变量,您也可以从对象访问它。关于为什么即使声明为private
也可以访问它,这是可能的,因为您试图从main
方法中的同一个类访问它
始终允许您为方法
和变量
声明相同的名称,因此在您的案例中,“a
”作为变量和方法。如果您希望获得预期的输出,只需按以下方式更改代码
0
1
3
5
静态方法和非静态方法的一个区别是,您可以创建它的对象,并且每个对象都包含唯一的数据。静态方法不允许您这样做,但您可以直接调用它的方法(它包含的方法) 这种静态方法不能像非静态方法的对象那样保存各种数据,但在某些情况下似乎很有用
例如,当您使用一个类来加载数据并根据某些标准对其进行过滤和排序时,您希望使用此数据,因为它在许多地方都存在,所以您不需要创建对象,所以您可以将此类设置为静态的首先需要1,然后需要3,然后需要5?是的,它们需要。。对象可以存储自己的数据,这些数据可以不同于其他对象,尽管它们是一个类的实例。如果您在这个类之外工作,您将无法像现在这样访问静态和私有变量和方法,但我不能在测试类中调用静态方法吗?当然,您可以这样做。例如,如果我有静态方法我把它们放在一个名为database的类中,我创建了一个名为tester的新类来进行一些测试,我想调用其中的一些方法,我可以通过这一行来实现……database.methodname(signature);
System.out.println(a);
System.out.println(a().a);
System.out.println(a().a().a);
System.out.println(a().a().a);
System.out.println(a().a().a);