跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

java深入学习之static静态代码块

静态代码块
static
可以修饰属性、方法、内部类、代码块。 静态代码块在类加载时就调用, 而且只执行一次, 并且优先于各种代码块以及构造函数。 有一个地方的静态代码被使用,那么所有的静态代码块都会被调用。 相关视频教程推荐: java免费视频教程 立即学习 “ Java免费学习笔记(深入) ”; 示例如下: Eclipse导入Android或其他的JAVA项目的正确方法 WORD版 本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 下载 父类
public class Human { static { System.out.println("2.父类中的静态代码块"); } public String name; public Human() { System.out.println("1.父类中的构造方法"); } public static void test() { System.out.println("6.父类中的静态方法"); } }
子类
public class Man extends Human { static { System.out.println("4.子类中的静态代码块"); } public Man() { System.out.println("3.子类中的构造方法"); } public static void doo() { System.out.println("5.子类中的静态方法"); } }
主类
public class Main { public static void main(String[] args) { // Human human = new Man(); 输出2 4 1 3 //父类的类名调用父类的方法 //Human.test(); //输出2 6 在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存 与子类无关 //子类的类名调用子类的方法 //Man.doo(); // 输出2 4 5 在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关 //子类的类名调用父类的方法 //Man.test(); // 输出 2 6 注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法, //但是父类不能调用子类的方法 所以在Main中不可直达Man中的的方法 //子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法 //Man.test(); 输出 2 6 4 5 } }
静态代码块内容先执行(但只执行一次),接着执行父类构造方法,然后执行子类构造方法。 本文来自 java入门程序 栏目,欢迎大家来共同交流学习!

相关文章