java学习笔记007 面向对象(三) 继承

1.继承
子类继承父类所有的属性和方法
私有的属性和方法也会继承
但是因为封装性的影响,子类不能直接调用父类的结构
eg.父类中定义private double legacy;//提供set、get方法
   子类中不能直接用legacy,而是调用getLegacy()方法
2.继承的规定
一个父类可以被多个子类继承,一个类只能有一个父类(单继承)
如果没有显式声明,就继承java.lang.Object类
eclipse快捷键ctrl+t查看继承关系
3.重写override/overwrite
子类中重写的方法的权限修饰符的权限不小于父类中被重写的方法的权限修饰符
子类不能重写父类中private修饰的方法
父类{
	private void over(){}
}
子类 extends 父类{
	public void over(){}	//这里不算重写
}
4.四种权限修饰符

修饰在类上时,访问权限表

能否访问 private     protected public
同一个类中
同一个包 ×
不同包子类 × ×
不同包普通类 × × ×
5.super
//子类使用被父类中被重写的结构super
//this(参数)和super(参数)显式调用构造器,只能放在子类构造器首行
//子类构造器没有在首行显式调用构造器this(参数)或super(参数),系统默认调用super()父类空参构造器
//子类中至少有一个构造器调用父类构造器(子类每次创建对象一直向上调用一次父类构造器直到Object,但是只创建一个对象)
6.多态
//父类引用指向子类的对象,说明使用多态要求有继承的关系
//多态的使用
//	父类引用调用同名同参数方法时,调用的是子类重写的方法
//	父类引用不能调用子类中特有的属性和方法
//	父类引用调用同名属性时,调用的是父类的属性
//编译器只能调用父类中声明的方法,但在执行期执行的是子类重写的方法
posted @ 2022-08-12 17:49  香菇无盐  阅读(27)  评论(0)    收藏  举报