黑马程序员技术交流社区
标题:
关于各个代码块执行先后问题
[打印本页]
作者:
xingxiansheng
时间:
2016-3-29 22:32
标题:
关于各个代码块执行先后问题
一个程序里有普通代码块静态代码块,构造代码块,那么执行顺序是怎么个顺序啊?加载顺序呢?
作者:
wjs
时间:
2016-3-29 22:45
静态代码块 构造代码块 普通代码
作者:
404951246
时间:
2016-3-29 23:23
执行顺序位:静态代码块,构造代码块,普通代码块,加载顺序是:静态代码块,构造代码块,普通代码块
作者:
Gqg
时间:
2016-3-29 23:49
执行顺序位:静态代码块,构造代码块,普通代码块;
加载顺序是:静态代码块,构造代码块,普通代码;
作者:
yangxiong
时间:
2016-3-29 23:50
执行顺序位:静态代码块,构造代码块,局部代码块,加载顺序是:静态代码块,构造代码块,局部代码块。
静态代码块随着类的加载而加载,只执行一次,一般用于加载驱动。
作者:
伊乐杰
时间:
2016-3-29 23:58
静态代码块,构造代码块,普通代码块;
作者:
Ak-47
时间:
2016-3-30 01:24
静态代码块随着类的加载而存在,是最早进内存的,但是它只执行一次,下次创建对象也不执行,构造代码块是创建对象的时候才会执行,是随着对象的创建而执行,毎创建一次对象就执行一次,希望能帮到你
作者:
wsgfs
时间:
2016-3-30 08:22
首先是静态代码快, 构造代码块,最后是普通代码块,因为类在加载的时候,首先加载静态成员(包括静态代码块),再者是使用一个对象,进行初始化调用是的构造方法,也就是构造楼主说的构造代码块),最后要使用对象的行为功能,自然最后是调用普通代码块了
作者:
zx7750462
时间:
2016-3-30 11:44
1、优先级
静态代码块 -> 构造代码块 ->构造方法
2、执行顺序
父类静态代码块->子类静态代码块->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
这是学完继承后完整的
作者:
Zhouyongming
时间:
2016-3-30 13:27
父类静态代码块 ->子类静态代码块 ->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
作者:
小灰辉
时间:
2016-3-30 13:49
代码块 分为 局部代码块,构造代码块,静态代码块;
它们之间的执行顺序是静态代码块,构造代码块, 调用方法时执行局部代码块;
局部代码块的作用是限制限量的生命周期,提前释放内存.提高内存利用率.
作者:
123liu123
时间:
2016-3-30 16:43
先静态,然后是构造代码块,最后是普通代码块
作者:
xiaochenu
时间:
2016-3-30 17:41
静态只执行一次先静态再构造然后在普通
作者:
叶小伞
时间:
2016-3-30 19:22
静态代码块-构造代码块-普通代码块
静态代码块是随着类的加载而执行的,所以最前
构造代码块每创建一次对象就执行一次
最后是普通代码块
该知识点出现在Java基础视频第8天,详细了解的话可以多看看
作者:
小凡帅哥
时间:
2016-3-30 22:20
静态代码块,构造代码,普通代码块,加载的时候类加载执行静态,建立对象执行构造,方法进栈执行普通
作者:
菇凉斋
时间:
2016-3-30 23:51
=先执行静态代码块,然后是构造代码块,接着是普通代码.
作者:
菇凉斋
时间:
2016-3-30 23:55
加载顺序也是一样
作者:
adomwon
时间:
2016-3-31 15:27
首先执行静态代码块,静态代码块是随着类的加载而加载的,然后再执行构造代码块进行初始化
作者:
啊海
时间:
2016-3-31 21:46
先静态代码块,构造代码块,再普通代码块
作者:
kingblue
时间:
2016-4-1 00:05
执行顺序和加载顺序都是:静态代码块、构造代码块、和普通代码块。
静态代码块随着类的加载而加载,只执行一次,构造代码块是每次都会执行。
作者:
daniua
时间:
2016-4-1 14:50
静态代码块 构造代码块 普通代码
作者:
122754304
时间:
2016-4-1 23:15
执行顺序:静态代码块-构造代码块-局部代码块.加载顺序:先加载类然后加载构造函数
作者:
dwt1397261
时间:
2016-4-2 16:16
父类静态代码块->子类静态代码块->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
作者:
clvslyf
时间:
2016-4-2 20:42
先执行静态代码快,再执行构造代码块,静态代码块只执行一次,构造代码块每创建一次对象就执行一次
作者:
怎么能够
时间:
2016-4-2 22:40
border-style:solid;
作者:
aweilovemusic
时间:
2016-4-3 20:58
1.如果没有继承体系,执行顺序是:静态代码块 -> 构造代码块 ->构造方法
静态代码块是随着类的加载而执行的,所以最前,一般用于加载驱动
构造代码块每创建一次对象就执行一次
局部代码块的作用是限制限量的生命周期,提前释放内存.提高内存利用率.
2、执行顺序
父类静态代码块->子类静态代码块->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
这是学完继承后完整的 父类静态代码块->子类静态代码块->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
这是学完继承后完整的
作者:
雨伞
时间:
2016-4-4 12:01
静态代码块,构造代码块
作者:
伊乐杰
时间:
2016-4-5 22:11
静态代码块,构造代码块,局部代码块
作者:
caoshengwei
时间:
2016-4-5 23:55
静态,构造,普通
作者:
兵蜂
时间:
2016-4-8 23:37
赞!!!!!!!
作者:
改变自己、
时间:
2016-4-11 23:45
package StaticDemo;
class Person{
private String name;
private int age;
//静态代码块
static {
System.out.println("父类静态代码块执行了");
}
//构造代码块
{
System.out.println("父类构造代码块执行了");
}
//无参构造函数
Person(){
System.out.println("父类无参的构造函数执行了");
}
Person(String name,int age){
this.name = name;
this.age = age;
System.out.println("父类有参构造函数执行了");
}
}
class Student extends Person{
//静态代码块
static {
System.out.println("子类静态代码块执行了");
}
//构造代码块
{
System.out.println("子类构造代码块执行了");
}
//子类空参构造函数
Student(){
System.out.println("子类的空参构造函数执行了");
}
//子类有参构造函数
Student(String name,int age){
super(name,age);
System.out.println("子类的有参构造函数执行了");
}
}
public class StaticDemo {
public static void main(String[] args){
//Student s = new Student();
Student s1 = new Student("wangqaing",23);
}
}
直接看结果就ok了!
作者:
943480861
时间:
2016-4-14 02:27
只知道先执行静态
作者:
AAAheilong
时间:
2016-4-16 21:56
1,静态代码块随着类的加载而加载,第一步进行
2,构造代码块随着对象的创建而加载,第二步进行
作者:
liudh1
时间:
2016-4-19 21:50
静态睡着类加载而加载,主要是安装驱动最先执行,构造代码块先于构造法方法
作者:
nc11111
时间:
2016-4-21 19:39
http://blog.csdn.net/nmsoftklb/article/details/8825797
作者:
zfr930102
时间:
2016-6-23 23:13
静态代码块是最先加载 优先执行的 之后是普通代码块而 你的构造代码块 当你在创建一个类的对象的时候才会调用构造代码块
作者:
cjc147
时间:
2016-9-9 01:14
静态代码块是随着类的加载而执行的,且只执行一次; 构造代码块是随着对象的创建而执行的,每次创建对象都会执行构造代码块,并且优先于构造方法执行; 局部代码块(楼主说的普通代码块)是执行到了该语句才执行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2