今天我们来说一下java中面向对象的第二个特征:继承。那么这个继承是什么呢?我们通过一个实例来体现一下。
class Student
{
String name;
int age;
void study()
{
System.out.println("good study");
}
}
class Worker
{
String name;
int age;
void work()
{
System.out.println("good work");
}
}
我们描述两个人,一个是学生,一个是工人。我们可以发现这两类人有相同的地方,那就是都有年龄和名字。这是共性的描述。那每个类都有是很麻烦的,我们单独搞一个类,让这两个类和它有关系然后能直接用。
那么我们将学生和工人的共性描述取出来,单独进行描述,只要让学生和工人与单独描述的这个类有关系,就可以了。
class Person
{
String name;
int age;
}
class Student extends Person
{
void study()
{
System.out.println("good study");
}
}
class Worker extends Person
{
void work()
{
System.out.println("good work");
}
}
我们就可以这样写,这样写有一些优点。
1提高了代码的复用性。
2让类与类之间产生了关系,有了这个关系,才有了多态的特性。
同时我们要注意,这个工人和学生是没有继承的关系,所以千万不要为了获取其他类的功能用工人继承学生或者学生继承工人。只有类与类之间有所属关系的才能继承,我们一定要自己思考一下,不能乱继承。
希望能对大家有所帮助。