静态属性、方法、代码块、父子类执行先后顺序

1.静态属性:用static修饰的属性称为静态属性,静态属性是整个类共同持有的共享空间,任何对象去修改都会影响其他对象,静态属性可以直接通过(类名.属性名)调用。
2.静态方法:用static修饰的方法称为静态方法,静态方法允许访问静态属性,不能直接访问非静态属性,其他类中可用(类名.方法名)调用,本类中可直接使用 方法名() 调用,静态方法可以继承,不能重写,没有多态,不能使用this 和super。
3.静态代码块:类加载时触发静态代码块的执行,仅执行一次,执行的地位在静态属性初始化之后。
作用:可为静态属性赋值,或进行必要的初始行为
4.父子类执行先后顺序

package com.demo.controller;
public class kjh  {

	public static void main(String[] args){
	
		Bird bird=new Bird();
		bird.stado();
		}
}

 class Animal {
	String eye="父类实例属性";
	static String staString2="父类静态属性";
	static {
		System.out.println(staString2);
		System.out.println("父类静态代码块");
	}
	{
		System.out.println(eye);
		System.out.println("父类动态代码块");
	}
	public Animal() {
		
		System.out.println("父类构造方法");
	}
	public void eat() {
		System.out.println("父类动态方法");
	}
}
class Bird extends Animal {
	static String doString="子类静态属性";
	String yeString="子类实例属性";
public Bird() {
	
		System.out.println("子类构造方法");
	}
	static {
		System.out.println(doString);
		System.out.println("子类静态代码块");
	}
	{
		System.out.println(yeString);
		System.out.println("子类动态代码块");
	}

	public static void stado() {
		System.out.println("子类静态方法调用"+staString2);
	}

	
}


自上而下
在这里插入图片描述
记录记录记录~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值