首页 > 编程语言 > 详细

【14】Java继承

时间:2020-04-21 16:07:09      阅读:90      评论:0      收藏:0      [点我收藏+]
一、概念&特点
1、概念
1)是一种类与类之间的关系;
2)使用已存在的类的定义作为基础建立新类;
3)父类(基类),子类(派生类);
4)子类的定义可以增加新的属性和新的方法,也可以用父类所有开放的属性和方法,但不能选择性地继承父类(不能只继承一部分)。
2继承特点
1)利于代码复用。2)缩短开发周期。
 
3、 继承的关系:满足A is a B的关系就可以能形成继承关系。
猫、狗→动物
老师、学生→人
轿车、卡车→车

二、继承的实现

//公共的属性和方法(父类)
public class Animal {
}

//编写子类,继承父类
public class Dog extends Animal {
    //关键字extends
    //子类特有的属性和方法
    //只能继承一个父类
}
//子类
public class Cat extends Animal{
}

 

三、方法重写

1、方法重载
1)在同一个类中;
2)方法名相同,参数列表不同(参数顺序、个数、类型);
3)方法返回值、访问修饰符任意。
2、方法重写
1)有继承关系的子类中;
2)方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同;
3)访问修饰符,访问范围需要大于等于父类的访问范围。
4)与方法的参数名无关。
 
3、注意
1)Java中重写仅限于方法,属性不可以重写。但是在子类中,是可以定义与父类重名的属性的,此时子类对象调用的是子类的属性。
2)静态方法和最终方法不能被重写;但静态方法在子类中可以通过隐藏父类方法的方式重新实现。
public static void bark(){} //静态方法
public final void display(){} //最终方法

 

四、编程练习:测试和研发

要求如下:

技术分享图片技术分享图片
编程练习:请使用面向对象的思想,设计自定义类完成如下功能要求:

接收用户输入的信息,选择需要完成的工作任务。其中,可供选择的有:测试工作和研发工作。关于类型设定描述如下:

测试工作

       属性:工作名称、编写的测试用例个数、发现的Bug数量

       方法:工作描述

研发工作

       属性:工作名称、有效编码行数、目前没有解决的Bug个数

       方法:工作描述

程序运行参考效果图如下:
父类信息测试:开心工作
测试工作类信息测试:测试工作的日报是:今天编写了10个测试用例,发现了5个bug
研发工作类信息测试:研发工作的日报是:今天编写了1000行代码,目前仍有10个bug没有解决


任务

思路分析:

第一步:分析测试工作和研发工作的共性:

都是工作类型

都有工作名称的属性,工作描述的方法



第二步:根据共性,定义工作类

属性:工作名称

方法:

编写无参构造方法、带参构造方法完成对属性的赋值

编写工作描述的方法,描述内容为:开心工作。



第三步:定义测试工作类、研发工作类分别继承工作类,要求:

测试工作类:

 增加属性:编写的测试用例个数、发现的Bug数量

 在构造方法中调用父类相关赋值方法,完成属性赋值

重写运行方法,描述内容为:**的日报是:今天编写了**个测试用例,发现了**bug。其中**的数据由属性提供

 研发工作类:

增加属性:有效编码行数、目前没有解决的Bug个数

在构造方法中调用父类相关赋值方法,完成属性赋值

重写运行方法,描述内容为:**的日报是:今天编写了**行代码,目前仍然有**个bug没有解决。其中**的数据由属性提供

   
要求

 

 

 

 

 

 

【14】Java继承

原文:https://www.cnblogs.com/haifeima/p/12744800.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!