继承是面向对象的核心特性,是面向对象的学习重点。
a) 继承
概念
当一个类的属性与行为均与现有类相似,属于现有类的一种时,这一个类可以定义为现有类的子类。
子类具有父类的非私有属性与方法。无需重新定义,可以直接调用。
在有了父类这个模板之后,所有的类在继承后便均是该类型的一种,具备这种类型基本的属性与行为。
继承格式
class 子类 extends 父类{
//父类的非私有方法与属性均继承过来
}
如:
类的定义:
class Person{
private String name;
public void eat(){
System.out.println(“吃饭”);
}
get/set方法
}
class Chinese extends Person{}
子类的使用:
class Test{
public static void main(String[] args) {
Chinese c = new Chinese();
c.setName(“张大力”);
String name = c.getName();
System.out.println(name);//打印结果为张大力
c.eat(); //打印结果吃饭
}
}
b) 方法重写
概念
当子类继承父类后,拥有了父类非私有的方法并可以直接调用。但是子类可以按照子类自身的逻辑重新定义继承过来的父类方法,该过程叫做方法重写。
方法重写格式
子类中定义与父类一样的方法便将父类的方法覆盖了。
如:
类的定义:
class Person{
public void eat(){
System.out.println(“吃饭”);
}
}
class Chinese extends Person{
public void eat() {
System.out.println(“按照中国的习惯,使用筷子吃”);
}
}
子类的使用:
class Test{
public static void main(String[] args) {
Chinese c = new Chinese();
c.setName(“张大力”); //父类继承方法直接调用
String name = c.getName(); //父类继承方法直接调用
System.out.println(name); //打印结果为张大力
c.eat(); //方法重写后调用的为重写后的方法
//打印结果:按照中国的习惯,使用筷子吃
|
|