JAVA 对象的初始化

//Person p声明一个变量,在栈里面分配空间.
//Person p = new Person("zhangquan", 20)
//1.new 用到了Person.class,先在硬盘上找到Person.class加载到内存.jvm做的事情.
//2.执行Person 类里面的stati {}静态块.
//3.分配堆空间,在内存里面建立对象属性.默认初始化.
//4.构造块{}执行.
//5.构造函数执行
//6.将堆空间地址给栈内存变量p.
//静态成员只能被静态方法调用,不能被飞静态成员调用.
//静态成员.方法可以通过类名字来调用.

 
 
 
class Test2 {
	public static void main(String [] args) {
		Demon.show(8);	//b c     //不一定要实例化才加载类到内存里面去. 调用静态方法时,static {}也被调用了.</span>
		//new Demon();	//b d a
	}
}

class Demon {
	int num = 4;
	//构造函数私有后就不能被实例化了.防止别人实例化
	//private Demon(){
	Demon(){
		System.out.println("a");		//实例化后才被调用构造函数.		
	}	

	static {	
		System.out.println("b");		
		//System.out.println("satic {}"+num);  //只能访问静态的变量.所以错误.
	}	
	

	static void show(int x) {	
		System.out.println("c");		
		//System.out.println("show"+num);//静态方法,只能访问静态的变量.所以错误

	}

	//这个只有实例化才被调用.构造快.
	{
		System.out.println("d");		
		System.out.println("{}"+num);//可以访问成员变量.不能访问静态成员.

	}	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值