Java面向对象(3)
继承
Super笔记
Super 注意点:
1.Super调用父类构造方法,必须在构造方法第一个。
2.Super必须只能出现在子类的方法或构造方法中。
3.Super与this不能同时调用构造方法。
Vs This:
1.代表对象不同:
this:本身调用者对象。
Super:代表父类对象引用。
2.前提:
This没有继承也可以使用。
Super只能在继承条件下才可以使用。
3.构造方法:
This();本类的构造
Super();父类的构造
重写笔记
重写(需要有继承和关系 子类重写父类的方法):
1.方法名相同
2.参数列表相同
3.修饰符:范围可以扩大 但不能缩小 public > protected > Default > Private
4.抛出的异常:范围可以缩小 但不能扩大: ClassNotFoundException ------> Exception(大)
重写子类方法和父类一直 方法体不同!
重写的目的:
1.子类不一定需要/不一定满足!
2.快捷键 Alt + Insert 选中Override(重写)
继承代码:
父类:
package Demo05;
// Java中所有的类都默认直接或间接继承Object类
// 人 :父类
public class Person {
// public 公共的(继承常用)
// protected 受保护的
// default 默认的
// private 私有的(私有属性常用)
public void say(){
System.out.println("I am a person");
}
private int money = 1_0000_0000;
public int getMoney() {
return money;
}
}
子类:
package Demo05;
// 学生 is 人 派生类 (子类)
// 子类继承父类,就会拥有父类全部方法
public class Student extends Person{
// Ctrl + H 快捷键
// Java类中只有单继承 没有多继承 一个儿子一个爸爸 一个爸爸多个儿子
}
子类可以继承父类中的公共属性与方法
调用代码:
package com.oop;
import Demo05.Person;
import Demo05.Student;
public class Application {
public static void main(String[] args) {
Student student = new Student();
student.say();
System.out.println(student.getMoney());
}
}