类的关系之继承

继承

1.子类继承父类,使用关键字"extends"

2.子类可以调用父类的属性和方法(public,protected修饰的)

	子类在调用构造方法时默认调用父类的构造方法
	程序块子类不能直接调用,子类执行构造方法之前,默认调用了父类的构造方法,父类的构造方法之前默认执行父类的块

3.子类可以添加独有的属性和方法

4.子类从父类继承过来的方法不能满足子类的需要,可以在子类中重写父类的方法

5.每一个类都有继承了,默认继承Object

6.继承时单继承的,但可以通过传递继承的方法实现多继承的效果

7.继承在内存中的存储形式

8.this和super的使用

	this和super都是指代词,代替的是对象
			this代替的是当前执行方法时的那个对象,不一定是当前类的
			super代替的是当前执行方法时的对象的父类对象
	都能调用一般的属性和方法,可以放在类成员的任意位置
			调用一般方法时可以来回互相调用,写法编译好用,执行不通过,产生错误
	可以调用构造方法,放在构造方法的第一行
			this和super在构造方法中调用另一个类的构造方法不能同时出现在第一行
			构造方法之间不能来回互相调用,编译不通过
方法重载overload
	一个类中的一组方法
	方法的名字必须相同
	方法的参数列必须不一致(个数/类型/顺序)
方法重写override
		产生两个继承关系的类,子类重写父类的方法
		子类权限修饰符大于等于父类
		父类方法是final的,子类不能重写
		父类方法是static的,子类不存在重写
		父类方法是abstract的,子类必须重写,否则子类也要是抽象类
		返回值类型子类小于等于父类
		名字和参数子类与父类的一致
		父类方法抛出运行时异常时子类不予理会
		父类方法抛出编译时异常时,子类抛出异常个数小于等于父类,子类抛出异常类型小于等于父类

Object的常用方法

	Object object = new Object();
	//打印输出是将对象变成字符串
	//       获取类的名字                  hashCode的十六进制
	//return getClass().getName() + "@" + Integer.toHexString(hashCode());
	object.toString();
	//将对象在内存中的地址经过计算得到整数
	object.hashCode();
	//比较两个对象的内容
	//return (this == obj);
	//==可以比较基本数据类型(比较值),可以比较引用数据类型(比较地址)
	//equals方法是Object类中继承过来的方法,默认效果比较地址,如果想要改变比较规则,可以重写方法
	object.equals(object);
	//获取对象对应类的类映射(反射)
	object.getClass();
	//线程进入挂起等待状态,存在方法重载
	try {
		object.wait();
	} catch (InterruptedException e) {
		e.printStackTrace();
	}
	//线程唤醒
	object.notify();
	//唤醒所有
	object.notifyAll();
	//权限修饰符是protected,在对象被GC回收时默认调用执行的方法
	//protected void finalize() throws Throwable { }
	//权限修饰符是protected,为了克隆对象
	//protected native Object clone() throws CloneNotSupportedException;			
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值