黑马程序员技术交流社区
标题:
静态代码块, 构造代码块,构造方法在内存是怎样的?
[打印本页]
作者:
yaolv7
时间:
2016-4-7 22:14
标题:
静态代码块, 构造代码块,构造方法在内存是怎样的?
class Student {
static {
System.out.println("Student 静态代码块");
}
{
System.out.println("Student 构造代码块");
}
public Student() {
System.out.println("Student 构造方法");
}
}
怎么理解这个???
作者:
251855915
时间:
2016-4-7 22:52
ststic在内存中是静态方法随着类的创建进入到内存中的方法区,
public Student() {
System.out.println("Student 构造方法");
}
复制代码
这个方法和类名相同,就是构造函数(方法);
构造代码块应该就是就是构造变量吧?
作者:
912392824
时间:
2016-4-7 23:02
静态代码块优先于构造代码块,构造代码块优先于构造方法,静态代码块只执行一次,构造代码块每次创建对象都调用,构造代码块调用才执行
作者:
荒丶
时间:
2016-4-8 07:28
静态的随着类加载而加载.非静态的在栈中.
作者:
251855915
时间:
2016-4-8 15:05
251855915 发表于 2016-4-7 22:52
ststic在内存中是静态方法随着类的创建进入到内存中的方法区,
这个方法和类名相同,就是构造函数(方法);
今天才学到代码块的知识,像以前的错误检讨!!!!!!!!!
作者:
yy0328
时间:
2016-4-8 18:01
还没学到 看看其他大神回答
作者:
yaolv7
时间:
2016-4-8 18:10
人笨,还是不明白呐.....
作者:
syasuker
时间:
2016-4-8 19:52
class Student
{
static //静态代码块随着类的加载而加载,优先于对象,只执行一次
{
System.out.println("Student 静态代码块");
}
/*
构造代码块。
作用:给对象进行初始化。
对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别:
构造代码块是给所有对象进行统一初始化,
而构造函数是给对应的对象初始化。
构造代码快中定义的是不同对象共性的初始化内容。
构造代码块每次创建对象都调用
*/
{
System.out.println("Student 构造代码块");
}
public Student() //构造函数要调用才加载
{
System.out.println("Student 构造方法");
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2