Java 我们可以使包含main方法的类匿名吗
下面是这个匿名内部类的示例,我们使用Java 我们可以使包含main方法的类匿名吗,java,Java,下面是这个匿名内部类的示例,我们使用 class A { void one() { System.out.println("hello"); } } class One { public static void main(String args[]) { new A() { void five() { one();
class A
{
void one()
{
System.out.println("hello");
}
}
class One
{
public static void main(String args[])
{
new A()
{
void five()
{
one();
}
}.five();
}
}
我的问题是,我们是否可以将类One
设置为匿名类(而不是其内部匿名类),即简单地将包含公共静态void main方法的类设置为匿名类 静态void main(String…
必须是静态的
,内部类(匿名或其他)不能有静态方法
关于嵌套类与内部类
嵌套类分为两类:静态类和非静态类。声明为静态的嵌套类称为静态嵌套类。非静态嵌套类称为内部类
static void main(String…
必须是static
,内部类(匿名或其他)不能有静态方法
关于嵌套类与内部类
嵌套类分为两类:静态类和非静态类。声明为静态的嵌套类称为静态嵌套类。非静态嵌套类称为内部类
不能为匿名类创建静态方法。首先,您将无法引用静态方法。唯一可能的方法是在运行时通过反射(这几乎不是好的编码实践)。在第二个实例中,所有匿名类和内部类都是使用某个“父”实例创建的(在您的示例中,A的匿名实例将包含对某个实例的引用)。这意味着内部类和匿名类在设计时并没有考虑静态方法。如果它们确实需要静态方法,那么它们应该是父类的一部分。您不能为匿名类创建静态方法。首先,您将无法引用静态方法。唯一可能的方法是在运行时通过反射(这几乎不是好的编码实践)。在第二个实例中,所有匿名类和内部类都是使用某个“父”实例创建的(在您的示例中,A的匿名实例将包含对某个实例的引用)。这意味着内部类和匿名类在设计时并没有考虑静态方法。如果它们确实需要静态方法,那么它们应该是父类的一部分。您尝试过吗?当你这样做的时候它会编译吗?更重要的是,它运行吗?你的问题真的不清楚
One
是顶级课程;匿名类总是嵌套的类。。。你到底想达到什么目的?你试过了吗?当你这样做的时候它会编译吗?更重要的是,它运行吗?你的问题真的不清楚One
是顶级课程;匿名类总是嵌套的类。。。你到底想实现什么?如何实现?先生,请你解释一下好吗?我以为你可以,但你不能。谷歌不同意;)@PeterLawrey你说得很对,感谢你提供了精确的术语链接(嵌套类与内部类)。投票吧@dystroy我不想做伪证,但在这种情况下,即使在静态上下文中,匿名类也被视为内部类|你能解释一下吗,先生?我以为你能,但你不能。谷歌不同意;)@PeterLawrey你说得很对,感谢你提供了精确的术语链接(嵌套类与内部类)。投票吧@dystroy我不想做伪证,但在这种情况下,即使在静态上下文中,匿名类也被视为内部类|