当然不一样!!
static class Swapper{
void method(String[] s)
{ }
}
这种用法只可能是内部类才能用static,但是这样似乎和不用static没有什么两样
class Swapper{
static void method(String[] s)
{ }
}
是这个类的某个方法是static,那么调用这个方法时就可以直接Swapper.method(String[] s),不用实例化class。
和前面的想比,差别在于前面的要实例化class,而且前面的class只能是内部类!!(因为有个static修饰)
static class Swapper{
void method(String[] s)
{ }
}
这种用法只可能是内部类才能用static,但是这样似乎和不用static没有什么两样
class Swapper{
static void method(String[] s)
{ }
}
是这个类的某个方法是static,那么调用这个方法时就可以直接Swapper.method(String[] s),不用实例化class。
和前面的想比,差别在于前面的要实例化class,而且前面的class只能是内部类!!(因为有个static修饰)
要访问其中的方法,必须
public class InnerClass1
{
static class A
{
void methodA()
{
System.out.println("sdfsdf");
}
}
public static void main(String[] args)
{
new InnerClass1().new A().methodA();
}
}第二个是一个普通类(不可能是内部类,内部成员类不能有static声明),里面有一个静态方法
static class Swapper{
void method(String[] s)
{ }
}
这么定义这个内部类的化,不妨定义其为class alpha下的
public class alpha() {
static class Swapper{
void method(String[] s) {
}
}
}
那么在另一个class里面调用这个类,可以不实例化alpha直接实例化Swapper,就像调用一个static方法一样。比如我要在其它class里面调用Swapper的方法method,可以如下不用实例化alpha
alpha.Swapper swapper = new alpha.Swapper();
swapper.method(String[] s);
我还没写完,怎么就有这么多人回了?
分别编译运行下面语句就清楚了
Swapper.method();//