静态代码块:static修饰的代码块. 在类加载-初始化的时候进行,主要目的是给变量赋予初始值 构造代码块:直接在类中定义且没有加static关键字的代码块称为构造代码块. java会把构造代码块放到构造方法前面,用于实例化一些共有的实例变量,减少代码量 构造方法:与类同名,没有返回值类型的方法 用于实例化变量 父类和子类:对子类的调用会导致其对父类的主动调用,所以尽管实例化的是子类,但也会导致父类的初始化和实例化,且父类先于子类执行. 参考实例: public class HelloB ext…
一:静态代码块 注意是代码块,不是静态函数.函数要调用才执行,代码块加载就执行,一般是静态变量的声明与初始化.被static修饰的代码块(赋值.输出操作等).类中静态语句块仅在类加载时被执行一次 如 static int a=1: static { int b=2; System.out.print(b);} 二:构造代码块 构造代码块是指不在类的任何一个方法中的代码.一般为全局变量的声明与初始化.顺序执行的输出语句等等.如果没有static修饰的话,这些代码按照编码时顺序执行. Java会把构…
今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载 当时做了这么一个小案例(想必这个大多数学java的都做过,不知道是否都理解了) class Fu{ static { System.out.println("Fu static code"); } { System.out.println("Fu code"); } public Fu(){ Sy…
JAVA中的静态代码块 构造代码块 构造方法执行顺序: 静态代码块(类加载时执行)>>构造代码块>>构造方法 下面展示一个简单的例子,推荐大家动手运行一遍: public class Main { public static void main(String[] args) { son s = new son(); } } /*父类*/ public class father { private static String faterstaticArea = "fathe…
一.阿里巴巴笔试题: public class Test { public static int k = 0; public static Test t1 = new Test("t1"); public static Test t2 = new Test("t2"); public static int i = print("i"); public static int n = 99; private int a = 0; public int…
1.局部代码块 位置:位于类的方法中 表示方法:{} 作用:控制变量的生命周期,减少内存消耗 demo: public class LocalCode { public static void main(String [] args){ int y = 10; { int x = 20; System.out.println(x); } System.out.println(y);//运行到此时x变量已被垃圾收集 } } 2.构造代码块 位置:位于类中 表示方法:{} 作用:用于给每个对象进行初…
/* 静态代码块. 随着类的加载而执行.而且只执行一次. 作用: 用于给类进行初始化. */ class StaticCode { static int num ; static { num = 10; // num *=3; System.out.println("hahahah"); } StaticCode(){} static void show() { System.out.println(num); } } class Person { private String nam…
一.构造函数 对象一建立就会调用与之对应的构造函数. 构造函数的作用:可以用于给对象进行初始化. 构造函数的小细节:当一个类中没有定义构造函数时,系统会默认给该类加一个空参数的构造函数:当在类中自定义了构造函数后,默认构造函数就没有了. 二.构造代码块 在类中直接用大括号{}括起来的代码块,在类被编译的时候执行,进行一些准备工作.与属性.方法并列存在. class Person { private String name; private int age; /* 构造代码块 */ { Syste…
三.如何改变Javascript在页面的执行顺序 利用onload <script type="text/javascript">window.onload = f; function f(){ alert(1); } alert(2);</script>输出值顺序是 2.1. 需要注意的是,如果存在多个winodws.onload的话,只有最后有一个生效,解决这个办法是: window.onload = function(){f();f1();f2();...…
先初始化序列中的函数调用,如果基类构造函数为非引用传递,则引起参数的拷贝构造 再: 先类内的成员构造函数(拷贝/默认),再类的构造函数:先基类,再派生类: 本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序:对象销毁时析构函数的执行顺序,对象成员的销毁顺序. “对象的构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数.析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程. 一个有趣的现象是,成员对象初始化的次序完全…