继承
继承的格式:
Java中使用extends关键字完成类的继承关系,
Class 父类{}
Class 子类extends继承父类{}
子类继承父类,并扩展其功能。可以把父类中的内容拿过来在子类中使用,如果子类中有一些重复的方法,就不用重复定义了。Extends关键字称为扩展,子类有时也叫派生类。
举例:学生类继承person类
1 package com.xiaotaotao.code;
2 class Person{
3 private String name;
4 private int age;
5 public void setName(String name){
6 this.name = name;
7 }
8 public void setAge(int age){
9 this.age = age;
10 }
11 public String getName(){
12 return name;
13 }
14 public int getAge(){
15 return age;
16 }
17 }
18 class Student extends Person{
19 }
20 public class ExtendsDemo01 {
21 public static void main(String args[]){
22 Student s = new Student();
23 s.setName("张三");
24 s.setAge(25);
25 System.out.println("姓名 :" + s.getName() + " , 年龄 : " + s.getAge());
26 }
27 }
举例:子类继承父类,并且在子类中新增方法
package com.xiaotaotao.code;
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 name;
}
public int getAge(){
return age;
}
}
class Student extends Person{
private String school;
public void setSchool(String school) {
this.school = school;
}
public String getSchool(){
return school;
}
}
public class ExtendsDemo01 {
public static void main(String args[]){
Student s = new Student();
s.setName("张三");
s.setAge(25);
s.setSchool("复旦大学");
System.out.println("姓名 :" + s.getName() + " , 年龄 : " + s.getAge() + " , 学校 :" + s.getSchool());
}
}
继承的限制
在java中只能使用单继承,不能使用多重继承,但是可以多层继承。即一个子类只能继承一个父类,一个子类只能有一个父类,一个父类还可以有一个父类。
如果子类将父类方法覆写,调用的时候肯定是调用被覆写的方法。此时如果调用父类方法,通过super关键字,super关键字访问父类方法,super.方法()。
this和super关键字的区别?