关于main调用非静态方法

知之洲 知之洲 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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

...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
知之洲
Java 51,407 成员 86,128 内容