我们使用Java的时候难免会遇到一些相同的类和方法,重新写又太麻烦,那么这个时候继承就站出来了。
继承就是子类去继承父类的特征和行为,使子类拥有父类的方法和实例域,让其可以使用父类相同的行为。继承定义了类如何相互关联,共享特性。对于若干个相同或者相识的类,我们可以抽象出他们共有的行为或者属相并将其定义成一个父类或,然后用这些类继承该父类,他们不仅可以拥有父类的属性、方法还可以定义自己独有的属性或者方法。
基础的格式为:
class 父类{
}
class 子类 extends 父类{
}
举个例子:
子类:
public class heliang{
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; }
public void eat(){
System.out.println(name+"正在吃饭");
}
public void sleep(){
System.out.println(name+"正在睡觉");
}
}
子类:
public class jinjinjin{
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; }
public void eat(){
System.out.println(name+"正在吃饭");
}
public void sleep(){
System.out.println(name+"正在睡觉");
}
}
像这样相同的代码写起来就很没必要,这个时候只需要写一个父类,子类只需要继承就好了。
父类:
public class temp{
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; }
public void eat(){
System.out.println(name+"正在吃饭");
}
public void sleep(){
System.out.println(name+"正在睡觉");
}
}
public class heliang extends temp{
public void teach(){
System.out.println(name+"教学"); }
}
这个时候你不仅可以在本来有的基础上加上你额外的方法和类,还同时拥有了父类的类和方法。
总结:
1.子类可以拥有父类非private的属性和方法
2.子类可以在拥有父类的基础上进行扩展
3.子类可以用自己的方式实现父类的方法。