zoukankan      html  css  js  c++  java
  • Java面向对象之继承extends 入门实例

    一、基础概念

      (一)继承的好处:

         1.继承:提高了代码的复用性。

         2.让类与类之间产生了关系,给多态这个特征提供了前提。

      (二)继承的种类:

         1.单继承:一个类只能有一个父类。

         2.多继承:一个类可以有多个父类。

            3.java支持单继承,不直接支持多继承。(因为多继承调用的不稳定性)

      (三)继承使用时候:

         1.当事物之间存在着所属关系时。可以通过继承来体现这个关系。

          如:XXX是YYY的一种。XXX extends YYY

         2.父类中私有的部分,子类对象是无法直接访问的。子类对象通过setXXX和getXXX进行访问。

    二、实例代码

     1 //将student类和worker类共享的代码抽取到Person类中,形成一个父类Person。
     2 class Person
     3 {
     4     //父类中私有的部分,子类对象通过setXXX和getXXX进行访问。
     5     private String name;
     6     int age;
     7     
     8     public void setName(String name)
     9     {
    10         this.name = name;
    11     }
    12     public String getName()
    13     {
    14         return this.name;
    15     }
    16     void sleep()
    17     {
    18         System.out.println("Name: "+name+",age: "+age+"   sleep ......");
    19     }
    20 }
    21 
    22 //student类继承了Person类的属性和方法(通过关键字extends继承)
    23 class Student extends Person
    24 {
    25     //可以拥有自己的方法study
    26     void study()
    27     {
    28         System.out.println("name: "+this.getName()+",age: "+age+"   study ......");
    29     }
    30 }
    31 
    32 //worker类继承了Person类的属性和方法
    33 class Worker extends Person
    34 {
    35     //可以拥有自己的方法work
    36     void work()
    37     {
    38         System.out.println("name: "+this.getName()+",age: "+age+"   work ......");
    39     }
    40 }
    41 class ExtendsDemo
    42 {
    43     public static void main(String[] args)
    44     {
    45         //创建一个实例p,赋给name和age,并输出sleep方法和study方法。
    46         Student p = new Student();
    47         p.setName("xiaoming");
    48         p.age = 18;
    49         p.sleep();
    50         p.study();
    51         //创建一个实例s,赋给name和age,并输出sleep方法和work方法。
    52         Worker s = new Worker();
    53         s.setName("laoli");
    54         s.age = 38;
    55         s.sleep();
    56         s.work();
    57     }
    58 }

    三、代码运行

      

  • 相关阅读:
    使用idea15搭建基于maven的springmvc-mybatis框架
    git本地提交到远程仓库命令
    jsp表格数据导出到Execl
    FreeMarker标签介绍
    FreeMarker常用语法
    mybatis批量删除
    git之https或http方式设置记住用户名和密码的方法
    INPUT只能输入数字
    mysql 日期格式化
    cygwin配置git
  • 原文地址:https://www.cnblogs.com/zhuxr/p/8876499.html
Copyright © 2011-2022 走看看