当前位置: 代码迷 >> 综合 >> 【Java知识】第十章 继承
  详细解决方案

【Java知识】第十章 继承

热度:70   发布时间:2024-02-07 10:03:24.0

第十章 继承

面向对象三大特征:封装、继承、多态

继承:共性抽取

用法:public class Teacher extends Employee{ }

直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找;

间接通过成员访问成员变量:该方法属于谁,就优先用谁,没有则向上找。

子类访问成员方法规则:创建的对象是谁,就优先用谁,没有则向上找。 

重写:方法名称一样,参数列表也一样

重载:方法名称一样,参数列表不一样 

@override:帮助检测  

抽象方法:就是加上obstract关键字,然后去掉大括号,直接分号结束

抽象类:抽象方法所在的类必须是抽象类才行,在class之前写上abstract即可。子类必须重写抽象父类的所有抽象方法。 

举例:

父类:Person类

public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void eat(){System.out.println("吃饭");}public void sleep(){System.out.println("睡觉");}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}
}

 子类:学生类

public class Student extends Person{public Student() {}public Student(String name, int age) {super(name, age);}public void study(){System.out.println("学习");}
}

测试类:

public class TestMain {public static void main(String[] args) {Student s=new Student("yyqx",18);System.out.println(s.toString());s.eat();  //调用父类的方法s.study();  //调用自己的方法}
}

结果:

Person{name='yyqx', age=18}
吃饭
学习