该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那么main()方法也是static的 为什么可以调用自己定义的类 及里面的方法和属性呢?
main 是入口点,也是 静态的
静态方法 直接调用的 只能是 类静态方法,静态属性
静态方法 可通过 类的实例调(实例类所有的方法 属性)
下面是一个测试的例子 ,
一个 main 一个动态的doMain2方法 一个静态的doMain方法
main可以通过类的实例 调用doMain2
doMain 也可以通过类的实例 调用doMain2
public class TestD{
public static int a=1;
public int b=2;
public static void doMain(){
// this.a;
TestD d=new TestD();
System.out.println("测试初始对象 调用静态方法"+d.a);
System.out.println("测试初始对象 调用动态方法"+d.b);
System.out.println("测试实体类直接调用静态方法"+TestD.a);//
d.doMain2();
}
public void doMain2(){
// this.a;
TestD d=new TestD();
System.out.println("测试初始对象 调用静态方法"+d.a);
System.out.println("测试初始对象 调用动态方法"+d.b);
System.out.println("测试实体类直接调用静态方法"+TestD.a);//
}
public static void main(String[] args){
TestD d=new TestD();
System.out.println("测试初始对象 调用静态方法"+d.a);
System.out.println("测试初始对象 调用动态方法"+d.b);
System.out.println("测试实体类直接调用静态方法"+TestD.a);//
d.doMain2();
d.doMain();
}
}