本文介绍Java中的继承,Java有三大特性:封装,继承和多态。我们先来简单了解下什么是继承?为什么要使用继承?在现实生活中,我们有很多继承的例子,例如儿子某些特征像他父亲,就可以说儿子这些特征是从他父亲上继承过来的。所以,Java中有了父类和子类的说法,父类就是被继承的类,子类就是将要继承父类的类。使用继承,是为了减少代码的重复,增加代码的复用性。下面我们举例来简单介绍继承。我们的父类是多边形类,有两个子类,分别是长方形,和三角形。长方形和三角形都是多边形,通过这个例子,我们来了解继承。
1.多边形类:Polygon.java
package lesson01;
public class Polygon {
protected int height;
protected int width;
public void set_values(int a, int b){
this.height = a;
this.width = b;
}
}
2. 长方形类:Rectangle.java
package lesson01;
public class Rectangle extends Polygon{
public double area(){
return ( height * width);
}
}
在Java中,子类继承父类,通过关键字extends来实现。extends后面跟着的就是父类名称。这里,发现了没有,height和width在长方形类并没有定义,这个就是继承的特点。子类有父类的非pravite属性和方法。
3.同样三角形类代码如下:Triangle.java
package lesson01;
public class Triangle extends Polygon {
public double area(){
return (height * width)/2;
}
}
4. 测试类MyClass.java内容如下:
package lesson01;
public class MyClass {
public static void main(String[] args) {
Rectangle rec = new Rectangle();
Triangle tri = new Triangle();
rec.set_values(10, 20);
tri.set_values(8, 13);
System.out.println(rec.area());
System.out.println(tri.area());
}
}
运行结果是200.0和52.0.
继承总结就三句话:
1) 子类拥有父类非private属性和方法
2) 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
3) 子类可以用自己的方式去实现父类的方法