面向对象编程(基础):继承和内部类

需积分: 0 0 下载量 184 浏览量 更新于2024-07-27 收藏 503KB DOC 举报
面向对象02 在面向对象编程中,继承是第二大特征,其主要的核心目的是扩充已有类的功能。继承是通过在一个类(子类)中继承另一个类(父类)的所有成员变量和成员方法来实现的。 **继承的引出** 在上面的代码中,我们定义了两个类:Person和Student。按照之前所学习的概念来讲,代码编写如下: ```java // Person.java class Person { private String name; private int age; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } } // Student.java class Student { private String name; private int age; private String school; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void setSchool(String school) { this.school = school; } public String getName() { return this.name; } public int getAge() { return this.age; } public String getSchool() { return this.school; } } ``` 通过比较,现在已经可以发现,问题就在于Student类与Person类之间的重复太多,而且从实际的关系来讲学生就是一个人,但是学生与人范围相比,学生有更多的特征和行为。 **继承的基本概念** 继承是面向对象编程中的一种机制,允许在一个类中继承另一个类的所有成员变量和成员方法。继承的主要特点是: 1. 单继承:一个类只能继承一个父类。 2. 多态性:继承关系可以实现多态性,例如,一个父类可以有多个子类,每个子类可以有不同的实现。 3. 继承的优点:继承可以使代码重用,减少代码冗余,提高编程效率。 **继承的应用** 继承的应用非常广泛,例如: 1. 实现多态性:继承可以使得子类可以继承父类的成员变量和成员方法,从而实现多态性。 2. 代码重用:继承可以使得代码重用,减少代码冗余,提高编程效率。 3. 便于维护:继承可以使得代码维护变得更加方便。 **this和super关键字** 在继承关系中,this和super关键字非常重要。 * this关键字:this关键字用于访问当前类的成员变量和成员方法。 * super关键字:super关键字用于访问父类的成员变量和成员方法。 **final关键字** final关键字用于修饰类、方法和变量,final关键字可以使得类、方法和变量不可被继承或修改。 **方法覆写** 方法覆写是指子类中重新定义父类中的方法,以便实现不同的行为。方法覆写可以使得子类可以继承父类的方法,但是可以根据需要进行修改。 继承是面向对象编程中的一种非常重要的机制,可以使得代码重用,减少代码冗余,提高编程效率。同时,this、super和final关键字在继承关系中也扮演着非常重要的角色。