在Java中,通过继承可以简化类的定义,扩展类的功能.
Java中支持类的单继承和多层继承,但是不支持多继承,即: 一个类只能继承一个类而不能继承多个类.
1.为什么需要继承?
提高程序的扩展性
提高代码的重用性
2.父类(SuperClass)和 子类(SonClass)。
继承用到的语法格式
首先是java中继承的关键字:extends
格式:
public class SonClass extends SuperClass {
}
3.继承的使用原则
1).子类能够继承父类中被声明为public和protected的成员变量和成员方法,但不能继承被声明为private的成员变量和方法。
2).子类能够继承在同一个包中的由默认修饰符修饰的成员变量和成员方法。
3).如果子类声明了一个与父类的成员变量同名的成员变量,则子类不能继承父类的成员变量,此时子类的成员变量隐藏了父类的成员变量。
4).如果子类声明了一个与父类的成员变量同名的成员方法,则子类不能继承父类的成员方法,此时子类的成员变量隐藏了父类的成员方法。
请看下边的实际例子:
public class Car {
public String color = "黑色";//定义汽车的颜色属性
public int speed = 1;//定义汽车的速度属性
public int level;//定义汽车的档位属性
public void gear(int num){//定义换挡方法
level = num;//换挡
speed = 10*level*level;//加速
}
public void drive(){//定义开车的方法
System.out.println("我是一辆"+color+"轿车。");
System.out.println("现在以时速"+speed+"公里每小时的速度行驶中。");
System.out.println("车档位是"+level+"档。");
}
}
public class Soncar extends Car {
public static void main(String []args){
Soncar soncar = new Soncar();
soncar.gear(5);
soncar.drive();
}
}
程序的输出结果为:
我是一辆黑色轿车。
现在以时速250公里每小时的速度行驶中。
车档位是5档。