黑马程序员技术博客之类的加载顺序

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

下面是我也的一段代码,用于显示类的加载顺序,如果有哪位大神解释一下底层的调用原理就好了。

/*
加载顺序如下:
1、父类静态成员(仅加载一次)
2、子类静态成员(仅加载一次)
3、父类代码块
4、父类构造方法
5、子类代码块
6、子类构造方法

面型对象的三个特点:
1、封装
2、继承
3、多态
*/
class parent
{
	static String name = "parentHello";
	int num = 1;
	{
		System.out.println("parent block...."+num);
	}
	static
	{
		System.out.println("parent static block");
	}
	public parent()
	{
		speak();
		System.out.println("parent construstor..........");
	}
	public static void print()
	{
		System.out.println("static emthod of parent");
	}
	void speak()
	{
		System.out.println("parent speak Java");
	}
}

class child extends parent
{
	static String name = "childhello";
	int num = 2;
	{
		System.out.println("child block...."+super.num+"..."+num);
	}
	static
	{
		System.out.println("child static block");
	}
	public child()
	{
		System.out.println("child construstor");
	}
	public static void print()
	{
		System.out.println("static emthod of child");
	}
	void speak()//覆盖:方法的返回值类型、方法名、参数列表完全相同
			//权限大于或等于父类的访问权限
	{
		super.speak();
		System.out.println("child speak java");
	}
}

public class tellMeOrder
{
	public static void main(String[] args)
	{
		child cc = new child();
		System.out.println("****************************************");
		parent c = new child();//多态:父类引用指向子类对象
		System.out.println("****************************************");
		System.out.println(c.name);//成员变量的隐藏,不会被覆盖
		System.out.println(cc.name);
		System.out.println(c.num);
		System.out.println(cc.num);
		System.out.println("****************************************");
		c.speak();//父类的引用指向子类对象的方法,非静态方法即对象的方法
				//虽然引用类型为父类,但所指向的地址是子类的对象
		c.print();//父类的引用指向父类的静态方法,静态方法属于类而不是对象
		cc.print();
	}
}

这个是我看张孝祥老师Java基础视频时写的,当时就是为了弄明白类的加载顺序,让自己印象更深刻一点。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值