继承是多态的前提,如果没有继承就没有多态
面向对象第二大特征:继承
为什么使用继承?
减少代码的重复性,共性抽取
1.在继承中"子类就是一个父类",也就是说子类可以
当中父类看待
如大圈和小圈的关系
2.定义父类:父类就是一个普通的类
3.定义子类:extend关键字
public class子类名称extends父类{
}
4.子类继承父类以后,父类声明的属性、
方法、子类都可以获得到。
注意:当父类中有private的属性或者方法时,子类同样可以获取。
只是,因为封装性是设计,使得子类不能字节调用。但是可以调用他的
get set方法
5.子类可以定义自己特有的方法和属性
子类除了通过继承获取父类的属性和方法外,
还可以定义自己独有的方法和属性
6.java继承是单继承的:一个子类有且只能继承一个父类
一个父类可以有多个子类。
This关键字:
(1) this调用本类中的属性,也就是类中的成员变量;(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。
当局部变量和成员变量重名时,
方法调用变量的原则是就近原则,使用局部变量的值。
解决方法
this关键字不能修饰局部变量。
格式:
this.成员变量
this关键字代表的是正在创建或者正在使用的对象(当前对象)
通过谁调用的方法,谁就是this。
this可以调用什么:
1.可以调用属性、方法、构造器
2.调用属性和方法的格式:this.属性名,this.方法名
3.调用构造器的格式:
"this(形参);"可以用来显示的调用当前类的
指定重载构造器、
并且必须放在首行,一次只能使用一个