




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java面向对象精华总结面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将功能封装进对象,强调具备了功能的对象。面试官若问什么是面向对象(开放式问题,回答必须有自己的体会):1、面向对象是一种思想,可以使复杂的问题简单化,可以使我们从执行者变成指挥者2、结合实际场景举个例子说明:面试官就是在用面向对象的思想思考问题,公司里面现在 有招人的需求,说明公司现在的业务量比较大,代表着公司在蓬勃发展,你需要找一些 具有专业编程经验的人来帮你完成公司的工作,我就是那个对象,我具备专业编程的功能,你就是在指挥我做事情,就是使用我的功能,来为公司创造效益。【万物皆对象】面向对象三大特征:封
2、装、继承、多态 类和对象的关系:类:对现实生活中事物的描述 对象:就是这类事物,实实在在存在个体 描述事物就是描述事物的属性(对应类中变量)和行为(对应类中方法),属性和行为共同称为类的成员(成员变量和成员方法)成员变量作用于整个类中,局部变量作用于函数中,或者语句中 成员变量在堆内存中,因为对象的存在,才在内存中存在,局部变量:存在栈内存中 封装(Encapsulation ):是指隐藏对象的属性和实现细节,仅对外提供公共访问方式 好处:将变化隔离、便于使用、提高重用性、提高安全性封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问private (私有):权限修饰
3、符,用于修饰类中的成员(成员变量,成员函数),私有只在本类中有效。static用于修饰成员(成员变量和成员函数)被修饰的成员:随着类的加载而加载,优先于对象存在,被所有对象所共享,可以直接被类名调用。类名静态成员【方法区、共享区、数据区】-存放类中的方法和共享数据。什么时候定义静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的,用类名直接调用。Eg:获取数组的最大值class ArrayTool public static void main(String args)int arr=5,8,4,1,3,5,8,77,55,99;int max=(arr);
4、max=+max); class GetMaxpublic static int getMax(i nt arr)int max=0;for(i nt x=0;xarrmax)max=x;return arrmax;构造代码块(定义对象共性初始化内容):给对象进行初始化,对象一建立,就运行,而且优先于构造函数执行。构造代码块是给所有对象进行统一初始化,而构造函数是给对应对象进行初始化。|this关键字:代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表那个对象。构造函数间调用只能用 this语句,this语句只能放在构造函数第一行,因为初始化动作要 先执行,
5、构造函数的权限和类的权限一致。静态代码块(可以验证类是否加载):格式:static静态代码块中的执行语句。特点:随着类的加载而加载,只执行一次,并优先于主函数,一般用于类的初始化。Pers on p = new Pers on (zha ngsa n,20);该句话都做了什么事情?1因为new用到了 .所以会先找到文件并加载到内存中。2, 执行该类中的static 代码块,如果有的话,给类进行初始化。3, 在堆内存中开辟空间,分配内存地址。4,在堆内存中建立对象的特有属性。并进行默认初始化。5,对属性进行显示初始化。6,对对象进行构造代码块初始化。7, 对对象进行对应的构造函数初始化。8, 将
6、内存地址付给栈内存中的p变量设计模式:解决某一类问题最行之有效的方法,java中有23中设计模式单例设计模式:解决一个类在内存只存在一个对象1避免其他程序过多建立该类对象,禁止其他程序建立该类对象(将构造函数私有化)2、为了让其他程序可以访问到该类对象,在本类中,自定义一个对象(在类中创建一个本 类对象)3、为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式(提供一个方法可 以获取到该对象)对于事物该怎么描述就怎么描述,当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可。方法被调用只有两种方式:对象调用和类名调用( static )Eg: class SimpleDemo
7、his ;外部类要访问内部类,不需建立内部类对象。当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中,直接建立内部类 对象,格式:外部类名内部类名 变量名=外部类对象内部类对象in=new Outer () .new Inner ();当内部类在成员位置上,就可以被成员修饰符所修饰,如private (将内部类在外部类中进行封装)static (只能访问外部类中的static 成员,出现了访问局限)在外部其他类中,访问static 内部类的非静态成员:new () .function();在外部其他类中,直接访问static内部类的静态成员:();注意:当内部类中定义了静态成员,
8、内部类必须是静态的;当外部类中的静态方法访问内部类时,内部类也必须是static 的。内部类定义在局部时,不可以被成员修饰符修饰,可以直接访问外部类中的成员,因为还持有外部类中的引用,但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量。匿名内部类:就是内部类的简写格式前提:必须继承一个类或者实现接口。匿名内部类的格式:new父类或者接口() 定义子类的内容其实匿名内部类就是一个匿名子类对象,而且这个对象有点胖,或者理解为有内容的对象。匿名内部类中定义的方法最好不要超过3个;异常:就是程序在运行时出现不正常情况是对问题的描述,将问题进行对象的封装。异常由来:问题也是现实生活中
9、的一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象,其实就是java对不正常情况进行描述后的对象体现。对于问题的划分:对于严重的, java通过Error类进行描述,一般不编写针对性的代码对 其进行处理;对于非严重的, java通过Exception类进行描述,可以使用针对性的处理方 式进行处理。异常处理语句:try需要被检测的代码;catch (异常类 变量)处理异常的代码(处理方式);fin ally一定会执行的代码;对捕获到的异常对象进行常见方法操作:String getMessage ():获取异常信息。对多异常的处理:1、声明异常时,建议声明更为具体的异常,这样处理
10、可以更具体2、 对方声明几个异常,就对应有几个catch块,不要定义多余的 catch块,如果多个catch 块中的异常出现继承关系,父类异常catch块放在最下面。throws和throw 的区别:throws使用在函数上,后面跟的异常类,可以跟多个,用逗号隔开;throw使用在函数内,后面跟的是异常对象。Exception 中有一个特殊的子类异常 RuntimeException 运行时异常,如果在函数内部抛出 该异常,函数上可以不用声明(因为不需要让调用者处理) ,编译一样通过,如果在函数上 声明了该异常,调用者可以不用进行处理(当该异常发生,希望程序停止,因为在运行时, 出现了无法继续
11、运算的情况,希望停止程序后,对代码进行修正) ,编译一样通过! 自定义异常时,如果该异常发生,无法再继续进行运算,就让自定义异常继承 RuntimeException 。异常的练习:/*毕老师用电脑上课。开始思考上课中出现的问题。比如问题是电脑蓝屏。电脑冒烟。要对问题进行描述,封装成对象。 可是当冒烟发生后,出现讲课进度无法继续。出现了讲师的问题:课时计划无法完成。*/class Teacherprivate String name;private Computer cmpt;Teacher(String name)=name;cmpt=new Computer();public void p
12、relect()throws NoplanExceptiontry();catch(LanPingException e)();catch(MaoYanException e)test();throw new NoplanException(课时无法继续 +(); 老师讲课 ); public void test() 做练习 );class LanPingException extends Exception LanPingException(String message) super(message);class MaoYanException extends Exception MaoYanException(String message) super(message);class NoplanException extends Exception NoplanException(String message) super(message); class Computerprivate int state=3; 名,包也是一种 封装形式。包与包之间的访问:被访问的包中的类以及类中的成员,需要 public 修饰;不同包中的子 类可以直接访问父类中被 protected 权限修饰的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市金山区名校2025年初三2月联考生物试题含解析
- 河南应用技术职业学院《发育生物学与再生医学》2023-2024学年第二学期期末试卷
- 西安城市建设职业学院《信息数学》2023-2024学年第二学期期末试卷
- 内蒙古财经大学《半导体器件与工艺课程设计》2023-2024学年第二学期期末试卷
- 山东省菏泽单县北城三中重点达标名校2025年初三第一次质量调研普查考试化学试题含解析
- 相机感光度扩展与噪点控制考核试卷
- 矿物加工设备研发与技术创新考核试卷
- 电机制造中的人工智能技术与应用考核试卷
- 电子封装材料及技术考核试卷
- 电机在农业机械的应用考核试卷
- 2025年共青团应知应会知识考试题库及答案
- 2025-2030中国传感器行业市场深度调研及竞争格局与投资研究报告
- 2025年3月时事政治考题及参考答案
- 危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)
- 公务接待考试题及答案
- 2025年危险化学品安全生产培训教材试题库
- 羽毛球赛事组织与管理的
- 小学生战斗机介绍课件图片
- 房屋市政工程生产安全重大事故隐患排查表(2024版)
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- 浅析小学数学教学中草稿本的有效使用
评论
0/150
提交评论