能否一类被实例化在Java静态?
static class c1(){
}
可以这样做吗?我对这个和非静态东西的内存映射感到困惑。请帮助
能否一类被实例化在Java静态?
static class c1(){
}
可以这样做吗?我对这个和非静态东西的内存映射感到困惑。请帮助
该类可以用java中的static关键字实例化吗?例如:static class c1(){}
您的术语不正确。 “实例化类”意味着创建类的实例;即创建对象。这是通过使用new
操作完成的。你的例子实际上是宣布一类。
话虽如此,是的,你可以声明一个类为static
,但这只能为一个嵌套类;即在内另一类中声明的类别。
感到困惑与此并与非静态的东西的内存映射,请帮助
我没有什么线索你是在谈论这里。如果您在这一点上需要更多帮助,您需要更清楚地解释自己。
带类定义的static
的意义不在于该类是否可以实例化,而是该类是否必须从外部类的非静态方法中实例化。
非静态内部类实例绑定到创建它们的实例 - 内部类实例中有一个指向创建实例的指针(这在许多方面都很有用)。静态内部类实例不绑定到创建实例。
(我曾在JVM的内部结构大约10年,我仍然觉得迷惑。)
“静态内部类实例不绑定到创建实例。”这是我需要的! –
静没有任何与内存映射。这意味着没有与它关联的实例。
对于static class
这意味着类的实例不与外部类实例关联。
它打破了范例。考虑一下:静态成员是每个实例都有的共同成员,但不清楚如何将这种共享思想扩展到一个类中?
你期望静态关键字能做什么?
你可以有静态类,如下图所示
class A
{
static class B //static inner class
{
static void dis()
{
System.out.println("this is me");
}
}
}
class four extends A.B
{
public static void main(String args[])
{
dis();
}
}
在上面的例子中,多级继承是实例化的......在JAVA中可能吗? –
是的,它可以在Java中 – Abhishekkumar
你为什么不试试呢? – Baz