继承的概念
继承是一种构建新类的方式,他是基于已有的类的定义为基础,构建新的类,已有的类称为父类,新构建的类称为子类,子类能调用父类的非private修饰的成员,同时还可以自己添加一些新的成员,扩充父类,甚至重写父类已有的方法,更其表现符合子类的特征。让子类的表现更独特,更专业。
继承的写法
Java规定,一个类后面紧跟 extends
关键字,再加一个类的名字,则表示新建的类继承自extends
后面的那个类。代码如下:
public class Student { private String name; private String age; private String handleName(String name){ return "I'm " + name; } private String handleAge(String age) { return age + " 岁"; } public String getName() { return name; } public void setName(String name) { this.name = handleName(name); } public String getAge() { return age; } public void setAge(String age) { this.age = handleAge(age); } }
现在我们新建一个类去继承自他,这个类我们就叫Boys,其代码如下:
public class Boys extends Student { @Override public void setName(String name) { super.setName(name); } @Override public String getAge() { return super.getAge(); } @Override public String getName() { return super.getName(); } @Override public void setAge(String age) { super.setAge(age); } }
在上面代码中,我们可以看到很多相似的方法,这些方法的方法签名,参数,返回类型都是与父类的方法是一致,Java允许我们定义和父类一致的方法,以便我们在这个方法中写入新的代码。上面方法中,我们会看见一个新的关键字super
,这个关键字与this相似,不过super表明调用方法的对象是父类的对象,那这段自动生成的代码的意思就是如果我们不添加新的内容,那么当我们子类调用这些方法的时候,执行的是父类的方法。同时我们在这个方法上面看见一个注解 @Override
这表明这个方法是覆盖父类的方法,而不是方法重载,下面我具体说一下什么是方法重载,以及这个注解存在的必要。