zoukankan      html  css  js  c++  java
  • java基础知识之九:继承

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

  • 相关阅读:
    在django如何使用中文
    《Jamie Zawinski访谈:在折腾中成长》读后感
    django处理静态文件
    [转]敏捷就循环往复的不断改进 & 测试不是寻找Bug的游戏 & 成功实施敏捷的十二种模式
    event.preventDefault()
    字符设备驱动Linux异常处理体系结构
    2.字符设备驱动按键中断及休眠
    内核中的宏定义__init、__initdata和__exit、__exitdata
    阻塞和非阻塞,同步和异步的概念辨析
    1.字符设备驱动Linux中断处理体系结构
  • 原文地址:https://www.cnblogs.com/jshtest/p/9150376.html
Copyright © 2011-2022 走看看