Java基础教程25-继承

来源:互联网 发布:java合并list 编辑:程序博客网 时间:2024/06/02 03:01

       本文介绍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) 子类可以用自己的方式去实现父类的方法