你好,你的理解大体上是对的。
但是严格的说,上述必须在类外部调用才成立。
而且1.5之后有了静态方法导入,可以不用写类名,直接调用静态方法。
“调用非静态类方法时候需要new个类再 对象.方法”这句准确的说
“调用非静态类方法时候需要new个对象出来,再 对象.方法”
以上的所有调用必须严格满足访问权限。
也就是私有、包级私有、受保护、公共。
1、static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享(因此可以用来统计一个类有多少个实例化对象),所以有些属性希望被所有对象共享,则必须将其声明为static属性,被static声明的属性成为全局属性。
2、只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。
3、类中定义的静态代码块会优先于构造块先执行,而且不管有多少个对象,静态代码块只执行一次
你子类继承父类,不在子类的构造方法中调用父类方法,你可以不用super,你也可以方法重载!但建议还是用super,super就是怕你重写!
子类继承父类后,父类的方法就是自己的方法,如果方法重载,也是可以直接用的