据我所知,每当我们想要调用任何方法时,我们都会创建对象并使用obj.methodname
调用其方法。
但是在程序之下调用E
类的方法而不创建对象。这怎么可能?请任何人帮我理解这个概念。
我的意思是'从下面的代码中,如何编写E.test2();
? ,我认为它应该是E obj=new E(); obj.test2();
class E
{
int i;
static int j;
void test1()
{
System.out.println("From test1");
}
static void test2()
{
System.out.println("From test2");
}
}
class F extends E
{
int m;
static int n;
void test3()
{
System.out.println("From test3");
}
static void test4()
{
System.out.println("From test4");
}
}
public class G {
public static void main(String args[])
{
E.test2();
F.test2();
}
}
答案 0 :(得分:2)
方法E.test2
声明为static
,这意味着您可以使用此方法而无需创建该类的实例。 Java中有很多类使用它。
参见文档:
答案 1 :(得分:1)
可以使用类名调用静态方法,并且不需要该类的对象。
答案 2 :(得分:1)
test2方法在E类中是静态的,静态方法是特定于类的,而不是特定于对象的,并且使用“classname.methodname”语法访问它们。 其中methodname是“classname”的静态方法