静态方法static的应用图解
2017-08-10 14:50
176 查看
package www.629niuniu.com; /*首先加载Test类,因此会执行Test类中的static块。 接着执行new * MyClass(),而MyClass类还没有被加载,因此需要加载MyClass类。 * 在加载MyClass类的时候,发现MyClass类继承自Test类,但是由于Test类已经被加载了, * 所以只需要加载MyClass类,那么就会执行MyClass类的中的static块。 在加载完之后,就通过构造器来生成对象。 * 而在生成对象的时候,必须先初始化父类的成员变量,因此会执行Test中的Person person = new Person(), * 而Person类还没有被加载过,因此会先加载Person类并执行Person类中的static块, * 接着执行父类的构造器,完成了父类的初始化,然后就来初始化自身了, 因此会接着执行MyClass中的 * Person person = newPerson(),最后执行MyClass的构造器。*/ public class StaticTest2 { Person person = new Person("Test"); static { System.out.println("test static"); } public StaticTest2() { System.out.println("test constructor"); } public static void main(String[] args) { new MyClass(); } } class Person { static { System.out.println("person static"); } public Person(String str) { System.out.println("person " + str); } } class MyClass extends StaticTest2 { Person person = new Person("MyClass"); static { System.out.println("myclass static"); } public MyClass() { System.out.println("myclass constructor"); } }
相关文章推荐
- php中static静态关键字的使用方法和应用场景
- java中静态代码块、静态方法、static关键字详解
- iis6 伪静态 iis配置方法 【图解】
- static的继承,静态方法只能继承,不能重写
- ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求
- 面对对象2【static】【主函数】【静态应用】【Java帮助文档】【静态代码块】【对象初始化过程】
- PHP中静态方法(static)与非静态方法的使用及区别
- 2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块
- 关于c#静态方法和实例方法的辨析和应用
- 静态方法应用
- 什么是静态(static)?什么是静态方法,静态变量,静态块和静态类?
- static 函数里执行非静态方法
- 成员变量 全局变量 静态方法 非静态方法 内存图解
- java中的修饰符static与静态方法及final的用法
- 静态(static)方法的继承和重写
- 黑马程序员--- static、静态的应用、帮助文档的制作
- static、静态变量、静态方法
- Java 中的 static 使用之静态方法
- 静态(Static)方法
- 泛型类与静态泛型方法 Cannot make a static reference to the non-static type