Java学习笔记13(理解初始化块和abstract)

初始化块

代码块:
{
xxxx
}

初始化块是对构造器的补充,不能接受任何参数,用于定义类实例化生成的所有对象共有的属性,方法和内容

非静态代码块:没有static修饰的代码块

   1.可以有输出语句。
   2.可以对类的属性声明进行初始化操作。
   3.可以调用静态和非静态的变量或方法。
   4.若有多个非静态的代码块,那么按照从上到下的顺序依
       次执行。
   5.每次创建对象的时候,都会执行一次。且先于构造器执行
public class Person {
   
	String name;
	//构造方法
	public Person(){
   
		this.name = "liming";
		System.out.println("执行的构造方法");
	} 
	
	//非静态代码块
	{
   
		System.out.println("执行的非静态代码块");
	}
	
	public static void main(String[] args) {
   
		new Person();
	}

}

打印结果:

执行的非静态代码块
执行的构造方法

执行顺序:
1 类的属性默认初始化
2 执行的非静态代码块
3 执行的构造方法

	public static void showAge(){
   
		System.out.println(age);
	}
	
	
	static int age = 18;
	//静态代码块
	static{
   
		//这里只能使用静态static修饰的属性和方法
		age = 1;
		showAge();
		System.out.println("执行的静态代码块");
	}//习惯把属性放在后面,代码块写在前面

静态代码块只执行一次。

public class Person {
   
	String name;
	static int age;
	public Person(){
   
		this.name = "liming";
		System.out.println("执行的构造方法");
	} 
	
	//非静态代码块
	{
   
		System.out.println("执行的非静态代码块");
	}
	
	public <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值