1 继承性
1.1 为什么要有继承?
- 多个类中存在相同属性和行为的时候,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只需要继承那个类即可。
- 此处的多个类称为子类或派生类,单独的这个类称为父类或基类。
1.2 继承的语法
- 语法:
class 子类 extends 父类{}
- 示例:
package day09; public class Person { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
package day09; public class Student extends Person { }
package day09; public class Test { public static void main(String[] args) { Student student = new Student(); student.setName("张三"); student.setAge(27); System.out.println(student); } }
1.3 继承的好处
- 继承的出现减少了代码的冗余,提高了代码的复用性。
- 继承的出现,更有利于功能的扩展。
- 继承的出现让类和类之间产生了关系,为多态的出现提供了的前提。
1.4 继承的注意事项
- 不需要仅仅为了获取其他类中的某个功能而去继承。
1.5 继承的规则
- 子类继承了父类,就继承了父类的方法和属性。
- 在子类中中,可以使用父类中定义的方法和属性,也可以创建新的属性和方法。
- 在java中,继承的关键字是extends,即子类不是父类的子集,而是对父类的扩展。
- 注意:
- ①子类不能直接访问父类中私有的成员变量和成员方法。
- ②java只支持单继承和多层继承,不允许多重继承。
- ⑴一个类只能有一个父类。
- ⑵一个父类可以派生出多个子类。·
class B extends A{} class C extends B{}
2 方法的重写