




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
继承
•继承
•数据隐藏
•方法重写
•super关键字的使用
•访问修饰符
•包的使用
HandsOn
继承的优点
HandsOn
继承
Java当中,Java的所有类都有是直接或间接地继承
Object类。被继承的类称为父类,继承而得到的类称
为子类
•类的继承是通过在类的定义过程中,用关键字extends
来说明.一次只能继承一个类,即单重继承。
•格式:
[修饰符]class类的名字extends父类{}
•子类继承父类后
>可继承和访问父类中公共类型和保护类型的成员变量或方法
>不能继承和访问被声明为私有类型的成员变量或方法
•子类可以添加属于自己的新的变量和方法,这叫扩展。
•子类可修改父类的变量或重写父类的方法,这叫重写。
HandsOn
继承的实现
1.classEmployee(
2.Stringname;
3.floatsalary=2000f;
4.publicfloatgetSalary(){
5.returnsalary;
6.}
7.}
8.classManagerextendsEmployee{
9.intbouns;
10.publicvoidsetBouns(intb){
11.bouns=b;
12.}
13.publicstaticvoidmain(String[]s){
14.Managerm=newManager();
15.m.setBouns(1000);
16.floatfs=m.getSalary()+m.bouns;
17.System.out.println(fs);
18.}
19.}
HandsOn
继承过程中的重写
•当子类的成员(数据/方法)与父类的同名(参
数完全一样)时,子类的会隐藏父类的成员
变量/成员方法,即发生了重写。
•重写规则:
必须发生在继承关系中
方法名,参数列表,返回类型完全一样
重写方法的访问性不能比被重写方法差
重写方法不能抛出更多或更广的异常
HandsOn
继承过程中的数据重写
1.classA{
2.intx=5;当在子类中定义了一个
3.)与父类完全一样的数据
4.classBextendsA{成员时,在子类中将隐臧
5.intx=10;
6.intgetX(){这个父类成员,即在子
7.returnx;类中缺省将不能访问这
8.)个父类成员
9.publicstaticvoidmain(String[]s){
10.Bb=newB();
11.b.getX();//?
12.)
13.}
HandsOn
继承过程中的方法重写
1.classA{
2.voidf(){System.out.println(uAf()”);}
3}
4.classBextendsA{
5.voidf(){
6.System.out.println(uBf()”);
7.}
8.publicstaticvoidmain(String[]s){
9.Bb=newB();
io.b.f();〃?
11.}
12.)
HandsOn
super关键字的使用
•解决隐藏与重写
子类在隐藏父类的成员变量或重写了父类的方
法以后,有时要访问被重写的方法或隐藏的成
员,Java提供super关键字来实现对父类的访
问,super位置不向定
•显示调用父类构造方法
super位置必须位于子类构造函数的第一
句的位置
HandsOn
super调用重写数据
1.classA{
2.intx=5;
3.}
4.classBextendsA{
5.intx=10;
6.intgetX(){
7.returnx+super.x;
8.}
9.publicstaticvoidmain(String[]s){
10.Bb=newB();
11.b.getX();//?
12.)
13.}
HandsOn
super调用重写方法
1.classA{
2.voidf(){System.out.println(uAf()”);}
3}
4.classBextendsA{
5.voidf(){
6.super.f();
7.System.out.println(uBf()”);
8.)
9.publicstaticvoidmain(String[]s){
10.Bb=newB();
11.b.f();//?
12.)
13.}
HandsOn
super在子类构造函数中的应
a
•子类构建对象时,会先调用父类的构造函
数,然后在调用自身构造函数
•2种情况:
1)父类存在无参构造函数
子类构造函数中super可以省略
2)父类不存在无参构造函数
子类必须手写构造函数,并且必须在
第一句话显式调用super(参数列表)
HandsOn
访问修饰符
•类
>public可以跨包使用
A缺省只允许在包中使用
•成员
>public
>protected
>缺省
>private
HandsOn
成员访问修饰符3-2
HandsOn
包
•包是类库的组成单元,Java的类库是由各种各样功能包组成的.
>Java安装目录jre\lib\rtjar就是java的类库
•类和接口是包的组成元素,编程人员可以把一组类和接口通过
package关键字封装在一个包中。从而实现了Java的命名空间。
•声明包
>在源文件的开始加上:package包名(要求全部小写)(反域名制)
>在编译时,加-d参数,指明包放的位置
•使用包中的类
>如使用不同包的类,必须加入import关键字
>引用的包必须在classpath环境变量中,如果不在,运行时要用-
classpath参数单独指定.
HandsOn
打包及编译■示例
1.packageedu.dhcc.j2se.parti0;
2.publicclassTest{
3.privateintm;
4.intn;
5.protectedintx;
6.publicinty;
7.}
javac-d编译后当前类所在根包存放的路径Test.java
HandsOn
使用包的类一示例
1.packageedu.dhcc.test;
2.importedu.dhcc.j2se.partiO.Test;
3.classUseTestlextendsTest{
4.UseTestl(){
5.y=30;
6.x=40;
7.〃m,n为什么在这里不能访问
8.)
9.}
10.publicclassUseTest{
11.publicstaticvoidmain(String[]s){
12.Testt=newTest();
13.t.y=30;
14.为什么在这里不能访问
15.}
16.}
HandsOn
编译及运行
•javac-d编译后包存放路径UseTestjava
>要求源文件中使用的包必须在classpath环境
变量中才可编译通过
•javaedu.dhcc.testUseTest
>要求运行的当前类及所使用类都在
classpath环境变量中才可运行通过
HandsOn
作业
在员工管理系统中,有普通员工,经理,董事三种角色,
公司所有的员工都有员工Id,员工名字,员工基本薪水
(2000),请假天数;现初步定Employee类为父类,
Manager子类、Director(董事)子葵,它们的区别是
计算工资方式一样。
具体工资计算办法:
•A、工资扣除部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锻造生产工艺员考试试卷及答案
- 2025年南平事业单位真题
- 高原环境下低空空域的研究与挑战
- 2024年丽水云和县招聘事业编制教师真题
- 昌吉吉盛新型建材二期工业硅项目综合循环水泵站水泵技术协议
- 教育变革背景下的在线教育平台政策分析
- 教育行业的数据泄露预防与应对措施
- 数字时代的教育变革传统教学与数字教材的结合
- 企业园区安全防范的智能化升级方案
- 中职文案写作课件
- 酒店入住登记表
- 中药泡洗技术-2
- 大学体育:轮滑教案
- 马太效应课件完整版
- 马克思主义原著选读课程
- 保障性租赁住房申请表
- 2023年中智总部及直属单位个高管职位公开招聘笔试参考题库附带答案详解
- iqc培训教材基础课件
- 中等职业学校艺术课程标准(2020年版)(word精排版)
- GB/T 15435-1995环境空气二氧化氮的测定Saltzman法
- GB/T 1355-2021小麦粉
评论
0/150
提交评论