面向对象的三大特征:封装性、继承性、多态性
1、继承:用比喻来表示的话,就是父类就是师傅,子类就是徒弟
这样比喻下来的话,就是父类有的东西,其子类也有,但是private属性除外
2、父类:通常也叫基类,超类
子类:通常也叫派生类。
3、书写格式:用关键字extends
package people;
public class people {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
继承
package people;
public class student extends people{
public static void main(String[] args) {
student a=new student();
System.out.println(a.getAge());
}
}
这样的好处可以提高代码的重用性,减少代码的书写
4、如果父类和子类同时有的东西,如果是子类对象的话,就直接使用的是子类,也就是就近原则。如果没有就找子类
父类就是使用自己有的
5、关键字super,也就是父类的意思
区别:如果是局部变量直接写
如果是本类,用this来调用
如果是父类,用super来调用
6、方法的重写(override)这个要求就要表示父类的方法跟子类的方法名要一致,并且参数也要一样
返回值:必须小于等于父类
比如:父类的返回值是Object
而子类的返回值是String
这样就可以的
但是方法的权限修饰符:子类的要大于等于父类
public>default>protected>private
重写的作用通常用来增加子类的功能