zoukankan      html  css  js  c++  java
  • java对象的方法属性和代码块的加载顺序

    1.静态变量
    2.静态代码块
    3.局部代码块
    4.构造函数
    5.普通代码块
    6.静态方法
    7.普通方法
    8.普通属性
    for example:
    package com.JavaTest2;
    public class Test extends Test2 {
    public String j = "子类变量";
    public static String i = "子类静态变量";
    static {
    System.out.println("子类静态代码块");
    System.out.println(Test.i);
    }
    {
    System.out.println("子类普通代码块");
    System.out.println(this.j);
    }
    public Test() {
    System.out.println("子类构造方法");
    {
    System.out.println("子类构造代码块");
    }
    }
    public void test() {
    System.out.println("子类普通方法");
    }
    public static void test1() {
    System.out.println("子类静态方法");
    }
    public static void main(String[] args) {
    Test test = new Test();
    //test.test();
    //Test.test1();
    }
    }
    class Test2 {
    public String j = "父类的变量";
    public static String i = "父类静态变量";
    static {
    System.out.println(Test2.i);
    System.out.println("父类静态代码块");
    }
    {
    System.out.println("父类普通代码块");
    System.out.println(this.j);
    }
    public Test2() {
    System.out.println("父类构造方法");
    {
    System.out.println("父类构造代码块");
    }
    }
    public void test() {
    System.out.println("父类普通方法");
    }
    public static void test1() {
    System.out.println("父类静态方法");
    }
    }
    打印结果:
     
    父类静态变量
    父类静态代码块
    子类静态代码块
    子类静态变量
    父类普通代码块
    父类的变量
    父类构造方法
    父类构造代码块
    子类普通代码块
    子类变量
    子类构造方法
    子类构造代码块
    总结:
    1.(静态变量和静态代码块)和(普通代码块和成员变量)看编写的顺序加载 如果静态代码块先加载然后打印静态变量会打印null.普通代码块同理。
    2.局部代码块和局部变量按编写顺序加载,构造代码块同理。
    2.子类和父类的方法只有调用才加载。

  • 相关阅读:
    KVC之-setValue:forKey:方法实现原理与验证
    李洪强iOS开发之iOS社区收集
    跟着百度学PHP[15]-会话控制session的工作机制
    代码审计学习之文件操作漏洞
    中间人攻击——ARP欺骗的原理、实战及防御
    跟着百度学PHP[14]-PDO的预处理语句2
    跟着百度学PHP[14]-PDO的预处理语句1
    跟着百度学PHP[14]-PDO之Mysql的事务处理2
    跟着百度学PHP[14]-PDO之Mysql的事务处理1
    跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL
  • 原文地址:https://www.cnblogs.com/Seeasunnyday/p/9101813.html
Copyright © 2011-2022 走看看