java基础_02
一.this和super
作用:
this:区分成员变量和局部变量
super:区分父类的成员变量和局部变量
用法:
this.成员变量名;//访问本类的成员变量
this.成员方法名();//访问本类的成员方法
super.成员变量名;//访问父类的成员变量
super.成员方法名();//访问父类的成员方法
扩展:
this(参数);//调用本类的其他构造
super(参数);//调用父类的其他构造
结论:a:子类中任何一个构造都会无条件先调用父类的无参构造
b:我们可以通过super(参数)调用指定的父类的构造方法
二.方法重写:
在子类出现和父类一摸一样的方法(修饰符可以不一样)时,子类的方法称为重写的方法
a:注意事项:
1.子父类的修饰符可以不一样,但是一般子类的修饰符>=父类的修饰符
2.如果父类是private 修饰时,父类的方法不能被重写
b:什么时候需要方法重写:
父类的方法不完善,low,
三。抽象类
什么叫抽象类:一个类被abstract修饰的类叫抽象类,和这个类中没有抽象方法没有必然关系
什么叫抽象方法:被abstract修饰没有方法体的类
抽象类作用:
不能创建对象,天生作为父类
抽象方法作用:
强制子类重写,不是为了调用
四。案例
(2)士兵开坦克打飞机
五抽象类和接口的区别
相同点:
a:都不能创建对象
b:都作为父类/父接口
c:子类/实现类都必须实现抽象方法才能调用方法
不同点:
a:抽象类关键字abstract,接口关键字:interface
b:抽象类中可以有抽象方法,可以没有抽象方法,可以部分抽象方法,部分不是抽象方法;接口中只要有方法,必须时抽象
c:抽象类中可以定义任意成员变量,接口中只要有成员变量,一定被 public static final修饰
d:类和抽象类是单继承,类和接口是多实现
e:思想上:抽象类中必须定义整个继承体系的共性内容
接口定义的是继承体系的扩展内容