java中有静态类吗?
这样的课有什么意义。静态类的所有方法也需要是静态的吗?
是否反过来要求,如果一个类包含所有静态方法,那么这个类也应该是静态的?
静态类有什么好处?
java中有静态类吗?
这样的课有什么意义。静态类的所有方法也需要是静态的吗?
是否反过来要求,如果一个类包含所有静态方法,那么这个类也应该是静态的?
静态类有什么好处?
当前回答
Java中的类可以是静态的吗?
答案是肯定的,我们可以在java中有静态类。在java中,我们有静态实例变量、静态方法和静态块。在Java中,类也可以是静态的。
在java中,我们不能使顶级(外部)类是静态的。只有嵌套类可以是静态的。
静态嵌套类vs非静态嵌套类
1)嵌套静态类不需要外部类的引用,但是 非静态嵌套类或内部类需要外部类 参考。
2)内部类(或非静态嵌套类)既可以访问静态 和Outer类的非静态成员。静态类不能访问Outer类的非静态成员。它只能访问静态 外层阶级的成员。
请看这里:https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
其他回答
有一个静态嵌套类,这个[静态嵌套]类不需要一个外围类的实例来实例化自己。
这些类[静态嵌套类]只能访问外围类的静态成员[因为它没有任何对外围类实例的引用…]
代码示例:
public class Test {
class A { }
static class B { }
public static void main(String[] args) {
/*will fail - compilation error, you need an instance of Test to instantiate A*/
A a = new A();
/*will compile successfully, not instance of Test is needed to instantiate B */
B b = new B();
}
}
好吧,Java有“静态嵌套类”,但它们与c#的静态类完全不一样,如果你是从那里来的的话。静态嵌套类只是一个没有隐式引用外部类实例的类。
静态嵌套类可以有实例方法和静态方法。
在Java中没有顶级静态类这种东西。
是的,在java中有一个静态嵌套类。 当你声明一个嵌套类静态时,它自动成为一个独立的类,可以实例化,而不必实例化它所属的外部类。
例子:
public class A
{
public static class B
{
}
}
因为类B被声明为静态的,你可以显式实例化为:
B b = new B();
注意,如果类B没有被声明为静态以使其独立,实例对象调用将看起来像这样:
A a= new A();
B b = a.new B();
Java有与类相关联的静态方法(例如Java .lang. math只有静态方法),但是类本身不是静态的。
Java中的类可以是静态的吗?
答案是肯定的,我们可以在java中有静态类。在java中,我们有静态实例变量、静态方法和静态块。在Java中,类也可以是静态的。
在java中,我们不能使顶级(外部)类是静态的。只有嵌套类可以是静态的。
静态嵌套类vs非静态嵌套类
1)嵌套静态类不需要外部类的引用,但是 非静态嵌套类或内部类需要外部类 参考。
2)内部类(或非静态嵌套类)既可以访问静态 和Outer类的非静态成员。静态类不能访问Outer类的非静态成员。它只能访问静态 外层阶级的成员。
请看这里:https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html