版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言基础第六章 面向对象 什么是对象 什么是类 类与对象的关系 类的定义与使用 构造方法的使用 方法的重载 this关键字上章内容 类成员与实例成员区别 static 关键字的使用 包的使用 package 关键字 import 关键字 封装 继承 extends关键字 方法的重写 super关键字本节内容 什么是类成员 使用static修饰的成员方法和成员变量称为类成员 使用static修饰的成员变量叫做类变量 使用static修饰的成员方法叫做类方法 什么是实例变量 未使用static修饰的成员方法和成员变量称为实例成员 未使用static修饰的成员变量叫做实例变量 未使用stat
2、ic修饰的成员方法叫做实例方法实例成员与类成员实例成员和类成员 实例变量和类变量的区别 所有该类的对象共享同一个类变量,但是每个对象都会有自己独特的实例变量 所有该类的对象都能改变类变量的值,但是每个对象只能改变自己的实例变量值 实例变量在使用前必须创建一个对象,根据对象名.变量名使用,但是类变量不需要创建对象实例变量和类变量的区别实例变量和类变量的区别 类方法和实例方法的区别 所有该类对象共享类方法和类变量 类方法使用类名.方法名(参数)调用 实例方法使用对象名.方法名(参数)调用类方法和实例方法的区别 实例成员和类成员的相互访问限制 实例方法可以直接访问实例变量和实例方法。 实例方法可以直
3、接访问类变量和类方法。 类方法可以直接访问类变量和类方法。 类方法不能直接访问实例变量或实例方法,要访问它们必须使用对象引用。还有,类方法不能使用this关键字,因为没有this的实例可供使用。 实例成员和类成员 静态代码块 是一个以static为前导的代码块,一般用于为类的工作做一些初始化工作,如初始化一些静态变量。 一个类中可以有许多静态初始化块,并且它们可以出现在类体的任何地方。运行时系统会保证静态初始化块会按照它们在源代码中出现的顺序被调用 static的其他使用 什么是包 包是Java用于提供访问保护和命名空间管理的方式 简单的理解,包就是用来将Java中类和接口等进行分类管理的工具
4、,类似于操作系统中的目录 包的声明 package 包名; 包名的前半部分一般使用倒置的域名,后半部分一般采用该包下类分类名(或者功能名) 如:package com.sina.util; 包的声明必须是整个类文件可执行的第一行语句包的使用声明包 一旦需要使用另外一个包中的类时,需要将该类导入到当前类中,如需要在程序中使用java.util包下的Scanner类,需要将给类先导入到使用的类中 类导入的语法 import 包名.类名; 或者 import 包名.*;包的导入导入类 访问修饰符对成员变量和成员方法的访问限定访问修饰符 封装的概念 把客观事物封装成抽象的类,并且类可以把自己的属性和方
5、法只让可信的类或者对象进行操作,对不可信的类或者对象隐藏,这样的过程叫做封装。 封装的分类 对属性的封装 将属性设置为private(私有),限制其只能在类的内部使用 对方法的封装 对于方法的封装,将外部可以访问方法设置为public,将外部不能访问的方法设置为private封装的使用封装的使用 类中定义的私有成员变量,通常会为其提供getter和setter方法访问私有属性,以保证对私有属性操作的安全性封装的使用 什么是继承 一个新类可以从现有的类派生,这样的过程叫做继承 那么在继承的过程中,新类被称为子类,现有的类被称为父类,子类将会继承父类的属性和行为。继承的使用 继承的语法 修饰符 c
6、lass 子类类名 extends 父类类名类体部分Java继承语法 子类除了可以拥有父类非私有的属性和方法外,也可以扩展自己的属性和方法Java继承语法 Java中的继承是单继承,也就是一个类只能有一个父类。 如果一个类没有显式的继承某一个类,那么它有一个默认的父类是java.lang.Object类(隐式) Java继承了父类非私有的成员变量和成员方法,但是请注意:子类是无法继承父类的构造方法的继承的使用 重写 override (重载overload) 子类从父类继承的某个实例方法无法满足子类的功能需要时,需要在子类中对该实例方法进行重新实现,这样的过程称为重写,也叫做覆写(覆盖)。 方
7、法重写的要求 子类重写方法的访问修饰范围必须大于或者等于父类对应方法的访问修饰符范围 除修饰符外,重写方法的其他部分必须和父类保持一致方法的重写 super代表的是父类对象 super的使用方式 super.属性名 用于在子类中调用父类被隐藏的同名实例变量 super(参数列表) 用于在子类的构造方法中调用父类的构造方法 super关键字 super.变量名的使用 super关键字 super(参数列表)的使用 super关键字 每一个子类的构造方法在没有显示调用super()系统都会提供一个默认的super() super() 书写在第一行 可以在子类构造方法中显式调用super(),完成对
8、特定父类构造方法的调用 super关键字 类成员与实例成员区别 static 关键字的使用 包的使用 package 关键字 import 关键字 封装 继承 extends关键字 方法的重写 super关键字本章总结 作业一: 设计一个形状类Shape,方法:求周长和面积 形状类的子类:Rect(矩形),Circle(圆形) Rect类的子类:Square(正方形) 不同的子类会有不同的计算周长和面积的方法作业 作业二: 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。 SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪 HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级数学(四则混合运算带括号)计算题专项练习与答案
- 绿植租摆协议书(2篇)
- 南京工业大学浦江学院《移动通信技术产品及物联网应用》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《社会企业》2022-2023学年第一学期期末试卷
- 分数的产生说课稿
- 蹲踞式跳远说课稿
- 南京工业大学浦江学院《计算机网络课程设计》2023-2024学年期末试卷
- 《线段的垂直平分线》说课稿
- 幼儿课件图画教学课件
- 南京工业大学《虚拟仪器设计》2023-2024学年第一学期期末试卷
- 砌筑工-技能评分记录表3
- 司索工安全操作规程
- 人教版数学五年级上册课本习题(题目)
- 钢筋合格证(共6页)
- BIM技术全过程工程管理及应用策划方案
- 弯扭构件制作工艺方案(共22页)
- 水利工程填塘固基、堤身加固施工方法
- 中医针灸的骨边穴怎样定位
- 人教版八年级上册英语单词表默写版(直接打印)
- 电脱水、电脱盐讲解
- 违约损失率(LGD)研究
评论
0/150
提交评论