extends 的意思是扩展,子类是父类的扩展。
Java中类只有单继承,没有多继承!
可以这么理解:一个儿子只可以有一个爸爸,但是一个爸爸可以有多个儿子。
继承关系的两个类,一个为子类(派生类),一个为父类(基类);
子类继承父类,使用关键字extends表示;
子类和父类之间,从意义上讲应该具有"is a"的关系。 在Java中,所有的类,都默认直接或间接继承Object;
子类继承了父类,就会拥有父类的全部方法; 二、修饰符 四个修饰符的优先级顺序:public公共的
protected受保护的
default默认的(什么都不写的时候默认是它)
private私有的 一般都写成公共的,如果是private私有的,那么无法直接 对象.方法去调用,需要先get、set先封装,才可以调用 三、快捷键 Ctrl+H可以调出继承树
参考代码如下:
public class Application {
public static void main(String[] args) {
Student s = new Student();
s.say();
System.out.println(s.money);
}
}
———————————————————————————————————————————
//PerSon 人:父类,基类
// 在Java中,所有的类,都默认直接或间接继承Object
public class Person {
//四个修饰符的优先级顺序
//public公共的
//protected受保护的(优先级高于default)
//default默认的(什么都不写的时候默认是它)
//private私有的
public int money=10_0000_0000;
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
public void say(){
System.out.println("说了话");
}
}
———————————————————————————————————————————
//Student学生 is a Person人:派生类,子类
// 子类继承了父类,就会拥有父类的全部方法
public class Student extends Person{
}
———————————————————————————————————————————
//Teacher老师 is a Person人:人:派生类,子类
public class Teacher extends Person {
}
四、super和this
super注意点:
1、super调用父类的构造方法,必须在构造方法的第一个
2、super必须只能出现在子类的方法或者构造方法中
3、super和this不能同时调用构造方法
super和this的区别:
代表对象不同:this本身调用者这个对象
super代表父类对象的应用
前提:this没有继承也可以使用
super:只能有继承条件才可以使用
构造方法:this();本类的构造
super();父类的构造
参考代码如下:
public class Application {
public static void main(String[] args) {
Student s = new Student();
// s.test("李狗");
// s.test1();
}
}
———————————————————————————————————————————
public class Person {
public Person(){
System.out.println("Person无参执行了");
}
protected String name="张三";
public void print(){
System.out.println("人人爱我");
}
}
———————————————————————————————————————————
public class Student extends Person{
private String name="王二";
public Student(){
//隐藏代码:调用了父类的无参构造
super();//调用父类的构造器,必须要在子类第一行
}
public void print(){
System.out.println("我爱人人");
}
public void test1(){
print();
this.print();
super.print();
}
public void test2(String name){
System.out.println(name);
System.out.println(this.name);//王二
System.out.println(super.name);//张三
}
}


