标签:对象 变量 静态 stat name 调用 static public void
1.因为new Studen()用到了Student类,所以会把它从硬盘上加载进入内存
2.如果有static静态代码块就会随着类的加载而执行,还有静态成员方法和普通方法也会随着类的加载而被加载
3.在堆中开辟空间,分配内存地址
4.在堆中建立对象特有属性(非静态成员),并同时对特有属性进行默认初始化
5.对属性进行显示初始化 比如 在类中 String name="123";
6.执行构造代码块,对所有对象进行初始化
7.执行对应的构造函数,对对象进行初始化(调用不同的构造函数)
8.讲内存地址给栈中的变量
实例如下
package j2se;
/*
*静态代码块随着类的加载而执行,优先于主函数执行,切只执行一次
*new 对象时,先调用构造代码块,再执行相应的构造方法
*/
class Student{
String name="fff";
int age;
private static String country="中国";
public Student(){
System.out.println("我是无参构造方法");
}
public Student(String name){
this.name=name;
System.out.println("我是一个参数构造方法");
}
public Student(String name,int age){
this(name);
this.age=age;
System.out.println("我是两个参数构造方法");
}
public static void get(){
System.out.println("我是静态成员方法");
}
static{
System.out.println("我是静态代码块");
}
{
System.out.println("我是构造代码块");
}
}
public class A6_43 {
public static void main(String[] args) {
Student a=new Student();
Student b=new Student("小明");
Student c=new Student("小明",27);
}
}
运行结果:
我是静态代码块
我是构造代码块
我是无参构造方法
我是构造代码块
我是一个参数构造方法
我是构造代码块
我是一个参数构造方法
我是两个参数构造方法
标签:对象 变量 静态 stat name 调用 static public void
原文地址:http://www.cnblogs.com/youning/p/6765074.html