版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025/3/10零基础快乐学Java1对象、继承和包第3章小时不识月,呼作白玉盘——对象、继承和包画月亮2相关知识点对象的创建、使用与清除类的继承包画月亮——描绘中秋时节一轮皎洁的月亮循序渐进
同生活中的语言、文字、绘画、音乐等一样,程序设计语言也是表达思想的一种方式,学习编程的目的不仅仅是为了掌握编程技术,更重要的是用它来表达人的思想。代码高亮
程序中字体的颜色有绿色、紫色、黑色等,这些称为代码的高亮显示。其中绿色的部分是注释。紫色部分是Java的保留字,也叫关键字。黑色的一般都是名字。代码的高亮不仅可以增加程序的美观度,而且还可以有适当的提示作用,可以直观地通过颜色来判定是否有拼写错误。反复大量
“复杂的事情简单做,你是专家。简单的事情重复做,你是行家。重复的事情用心做,你是赢家。”几点说明2画月亮第3章小时不识月,呼作白玉盘——对象、继承和包对象、继承和包1相关知识点对象的创建、使用与清除类的继承包对象创建的一般形式为:
类名对象名=new类名([参数列表]);1、对象的创建例:定义一个People类:classPeople{}创建一个People对象:Peoplezhangsan=newPeople();类是一个抽象概念,类的属性和行为不能自己体现,必须要借助于具体的对象才能体现。一个类可以生成很多个对象,如果写了两个newFrame();,那么就创建了两个新窗体对象。那这两个新窗体形式一模一样,该如何区分呢?一、对象、继承和包——对象的创建、使用与清除(1)借助于对象名来完成:“对象名.属性”或“对象名.行为”;(2)直接使用对象实体:“new类名([参数列表]).属性”或“new类名([参数列表]).行为”。(3)使用this来完成:“this.属性”或“this.行为”。一、对象、继承和包——对象的创建、使用与清除2、对象的使用【例3-1】对象的使用所谓垃圾回收机制就是指系统对无用对象进行自动清除和内存的回收操作。Java的垃圾收集器会自动扫描对象的动态内存区,如果某个对象的引用计数为0,系统会在其后某个时刻自动回收无用对象。Java的垃圾回收是自动进行的,回收时机不能完全受控。一般情况下,运用System.gc()方法建议系统执行垃圾回收、在可用内存耗尽时、在程序空闲的时候、其它垃圾回收器工作时都有可能会触发垃圾回收器的工作。finalize()方法的功能是释放对象所占的内存,但是,它调用的时机也不能确定,同时不同对象的清除顺序也不确定,关键的清除任务不应该在finalize()方法里完成。一般可以用它扮演安全防护的角色,迟一些释放资源总比永远不释放要好。一、对象、继承和包——对象的创建、使用与清除3、对象的清除继承的一般定义格式为:
[类的修饰符]classBextendsA{变量定义;方法定义;……}二、对象、继承和包——类的继承类和类之间是有层次关系的,比如人类是生物类的一种,被继承的类称为父类或基类,继承得到的类称为子类或派生类。使用继承机制可以更好地实现代码的可重用性。例:classPaneextendsPanel{……}Java不允许多重继承,只支持单继承。一个类可以有多个父类同时也可以拥有多个子类,任何一个类都是Java.lang.Object的直接或间接子类(多层继承)。二、对象、继承和包——类的继承类成员的继承子类继承某个父类后,子类便具有父类的特性,即子类拥有了父类的所有非私有(private)变量和方法,这些变量和方法通过继承都变成了子类的成员。类成员的添加在子类中加入自己的变量和方法。在单继承中,继承的真正目的是定义子类时添加功能,或者对从其父类继承来的某些功能进行修改。方法覆盖把从父类继承来的方法重写,称为方法覆盖。子类覆盖父类的方法时,规则为:
方法名相同;参数列表完全相同;返回类型相同;访问权限不能缩小;抛出异常相同。
子类中调用被覆盖的父类中的同名方法:
super.方法名()二、对象、继承和包——类的继承【例3-2】方法覆盖变量隐藏二、对象、继承和包——类的继承当子类变量与继承下来的变量同名时,Java的处理方法是隐藏而不是覆盖。值得注意的是,方法的覆盖和变量的隐藏有着本质的区别:(1)变量隐藏是指父类的同名变量在子类中不可见,但它仍然在子类对象中占有自己独立的内存空间。(2)方法覆盖是指清除父类同名方法在子类中所占的内存,从而使父类方法在子类对象中不复存在。【例3-3】变量隐藏与方法覆盖方法和变量在继承时的覆盖和隐藏规则1.父类的实例变量和静态变量能被子类的同名变量隐藏2.父类的静态方法被子类的同名静态方法隐藏3.父类的实例方法被子类的同名实例变量覆盖结论:变量的隐藏会造成程序对这个变量使用的混乱。如子类执行自己定义的方法时,操作的是自己定义的变量,继承自父类的变量会被隐藏起来;而当子类执行继承自父类的方法时,操作的是父类的变量。因此在实际开发中应慎用。二、对象、继承和包——类的继承关键字this的使用规则:①类定义中使用this,当创建该类的对象后,this代表类对象自身。②this.变量名或实例方法名。③静态变量和静态方法不能通过this作前缀来使用。④类中有多个重载的构造方法时,构造方法中可以通过this()调用其他构造方法,但必须是构造方法中的第一条语句。二、对象、继承和包——类的继承关键字super的使用规则如下。①super.变量名:引用被子类隐藏的父类中的变量;②super.方法名:调用被子类覆盖的父类中的方法;③super(参数):子类构造方法中调用父类构造方法,但必须是子类构造方法中的第一条语句。this()和super()调用只能有其一,不能同时都有。二、对象、继承和包——类的继承【例3-4】this和super封装:
就是把东西包装起来,如成员变量和方法被类封装了起来,类被包封装了起来等。实现封装的方式:
创建包、限定类成员的可见性等。封装的优点:
有利于保护内部数据,降低开发过程的复杂性,减少出错的可能性,保证数据的完整性和安全性。二、对象、继承和包——包包就是若干类的集合,在实际代码的存放形式中,包表现为一个具体的文件夹或者类似jar这样的压缩文件。在文件夹下还可以有子文件夹,称为子包。引入包的概念可以解决代码的命名冲突,同时也是为了更好地管理类。命名一个包的名字都小写,包名具有层次,这种层次关系的分隔用句点表示。二、对象、继承和包——包包java.lang:包含基本类与核心类,如:String,Math,Integer,System,Object等。java.applet:创建小应用程序的类。java.awt:与平台无关的GUI应用程序的类。java.io:用作I/O处理的类。:包含建立网络连接的类。java.util:包含实用类与数据结构的类。常用包二、对象、继承和包——包Java中使用关键字package创建一个包。创建包语句的格式如下:
package包名[.下一级包名[.…]];注:该语句必须是Java源文件中的第一条语句(非注释非空行)。如果源文件没有包定义语句,则Java认为它在缺省包(没有包名的包)中。
创建包即是在当前文件夹下创建一个子文件夹,用来存放.class文件。包的创建二、对象、继承和包——包二、对象、继承和包——包①使用import语句导入包中的类。其形式为:
import包名.类名
或
import包名.*;②注:如果未用import引入包或用到不同包下的同名类则需要显式加入“包名.类名”。不提倡滥用通配符*。
必须放于所有类定义之前。二、对象、继承和包——包包的导入个性创作——信息2111个性创作——信息2111姜梅梅个性创作——信息2111陈华旺陈宗震王良硕个性创作——信息2112个性创作——信息2112个性创作——信息2112赵旭1、请为您所在的班级、团队或小组设计一个LOGO。2、请
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师人文试题及答案呈现
- 抽动障碍诊疗指南(2025版)
- 车辆交强险商业险投保选择攻略
- LA技师重点试题及答案解读
- 乘法单元测试卷及答案详解
- 中专会计电算化试题及答案展示
- 2026考研全国统考数学三习题集(查漏补缺专用)
- 2026考研数学一模拟试卷|全真模拟卷
- 九年级上册人教版语文《电生磁 第2节》
- 鼻窦球囊扩张术临床实践指南(2025版)
- 透析患者怎么分层次管理?荣科血液净化智能管理系统用标签实现精准分级
- Unit 4 Healthy habits (Period 1)(课件)-2026-2027学年人教PEP版英语五年级上册
- 2025注册环保工程师《专业基础考试》考试卷含答案
- 2026秋小学科学教科版六年级上册(新教材)教学计划附进度表
- 软件技术专业介绍
- GB/T 9800-1988电镀锌和电镀镉层的铬酸盐转化膜
- GB/T 4604-2006滚动轴承径向游隙
- GB/T 29489-2013高压交流开关设备和控制设备的感性负载开合
- GB/T 1415-2008米制密封螺纹
- GB/T 12613.7-2011滑动轴承卷制轴套第7部分:薄壁轴套壁厚测量
- 网络设备Visio图标库
评论
0/150
提交评论