20220721 袁清清 学习笔记
java学习序列7
今日重点
**继承**
**super关键字**
**方法的重写**
继承
类与类之间的关系
1.属性关系
2.参数关系
3.继承关系
继承——extends
继承核心是扩展父类功能
JAVA中继承只有单继承,只有一个直接父类,可以有多个间接父类,继承父类的属性,方法
创建构造器,实例化的过程,当一个类被实例化,先实例化他的父类,直接父类,然后是他自己
举例说明
点击查看代码
class Sum{
Integer age;
String name;
public void sum(){
}
public Sum(Integer age, String name) {
this.age = age;
this.name = name;
System.out.println("sum");
}
}
class Cat extends Sum{
public void eat(){
}
public Cat(Integer age, String name) {
super(age, name);
System.out.println("cat");
}
}
class Person extends Cat{
public Person(Integer age, String name) {
super(age, name);
System.out.println("person");
}
}
class Mao extends Cat{
public Mao(Integer age, String name) {
super(age, name);
System.out.println("mao");
}
}
public class Test1 {
public static void main(String[] args) {
// Sum s=new Sum(1,"1");
// s.age=0;
// Cat c=new Cat(1,"1");
// c.sum();
// Person p=new Person(1,"1");
// Mao m=new Mao(1,"1");
// m.eat();
Mao m=new Mao(1,"1");
}
}
super关键字
代表调用父亲的结构(属性,方法,构造器)
当子类中使用super调用父类构造器时,super(age)必须在第一行或第一句话
在当前类中使用this调用本类的构造器时,this(name)必须是第一句话
在构造器中,如果需要使用super或this调用其他构造器,只能二选一, 而且必须在第一位
super指向的父类,不代表任何对象
this指向的本类,代表当前类的对象,方法的调用者
this可以代表对象,super不行
this和super区别
this调用当前类
super调用父类
this可以省略,super也可以省略(先在本类找,没有,去父类找)
this可以调本类构造器this(age),super调父类构造器
super调用父类构造器时,必须在第一行,和this冲突,2选1
this指向本类,代表对象;super指向父类,不能代表对象
方法的重写
方法的重写,我们可以利用到父类中方法已经运算后的结果,在结果的基础上进行
方法的重写,体现的就是继承的核心,就是为了扩展父类的功能
方法的重写的规则:前提是继承和被继承的关系
1.访问权限:重写的方法的权限不能低于被重写的权限,开发中一般都是等于
2.返回值类型:重写的方法的返回值可以和被重写的方法不同,但是必须是被
3.方法名:必须相同
4.参数列表:必须相同
5.抛出异常:重写的方法不能抛出比被重写的方法更大的异常
子类重写父类的方法
点击查看代码
class Sum{
Integer age;
String name;
public Sum(Integer age, String name) {
this.age = age;
this.name = name;
System.out.println("sum");
}
public void sum(){
System.out.println("sum+=");
}
}
class Cat extends Sum{
public Cat(Integer age, String name) {
super(age, name);
System.out.println("cat");
}
public void eat(){
}
public void sum(){
super.sum();
System.out.println("cat+=");
}
}
今日总结
今天学习的知识点还是比较简单的,只是银行卡和借记卡的练习对我来说太难了,还得慢慢学

浙公网安备 33010602011771号