关于main调用非静态方法
class A
{
public A()
{
System.out.println("I am a");
}
public static void main(String arg[])
{
A a = new A();
//B b = new B();
C c = new C();
D d = new D();
}
class B
{
public B()
{
System.out.println("I am b");
}
}
static class C
{
public C()
{
System.out.println("I am c");
}
}
}
class D
{
public D()
{
System.out.println("I am d");
}
}
为什么在A类里面写的类B就不能直接调用构造函数(必须要在类名前加static,像类C这样)
这是因为main是静态的不能直接调用非晶态的方法
但是为什么在A类外面写的类D就可以直接被调用构造函数,不需要在类D前加static
...全文
相关推荐
java方法调用
#### 五、复杂的调用示例下面是一个更复杂的例子,展示了如何在静态方法内部调用非静态方法:```javapublic class CallMethod2 { public static void main
JAVA静态方法和非静态方法的区别和实例.doc
static void main(String[] args) { Test test = new Test(); test.test2(); // 需要实例化之后才能够调用到方法 }}```静态方法和非静态方法的区别以下是静态方法和非静态方法的主要区别
Java中静态方法和非静态方法的区别.docx
七、内存分配静态方法的内存是固定在内存中的,因此,我们不需要使用定义了静态方法的类的对象来调用静态方法。非静态方法的内存并不固定在 RAM 中,所以我们需要一个类对象来调用非静态方法。
Java中实现在一个方法中调用另一个方法
s1 say1(); // 调用非静态方法say1 } public static void main(String[] args) { s1(); // 静态方法可以通过类名直接调用 Test2 t
C#静态方法与非静态方法实例分析
非静态方法(实例方法)是与类的实例关联的,必须先创建类的实例,然后通过实例调用,如`instance.Method()`。


