




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。JAVA面向对象编程总结第一章一、面向对象的含义:面向对象就是采用“现实模拟”的方法设计和开发程序,(是一种程序设计模式),面向对象设计的过程就是抽象的过程。二、面向过程和面向对象的区别:面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用。面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用。三、抽象时遵循的原则:1.属性、方法的设置是为了解决业务问题。2.关注主要属性和方法。3.如没有必要,勿增加额外的类、属性和方法。四、代码含义解释:1.Scanner input=new Scanner(System.in);1) Scanner:用于扫描输入文本的类名.2) Input:对象名3) new Scanner():实例化对象(开辟一个新空间存储扫描进来的东西)4) System.in:是PrintStream(字节打印流)的一个实例,只能按字节读取。2.Java中创建对象、调用属性及方法的语法:1) 通过构造方法来创建对象:“Penguin p=new Penguin();”2) 通过对象名,属性名的方法调用属性:“=qq;”3) 通过对象名,方法名的方式调用方法:“p.print();”3.静态常量在Java中,用常量来存储不变的数据,常量使用final关键字来修饰,并且常量名通常大写。final关键字:1) 修饰的类不能继承2) 修饰的属性不能重新赋值3) 修饰的方法不能被调用4) 不能修饰构造方法4.构造方法:(有参构造方法、无参构造方法)构造方法的名称和类名相同,没有返回值类型。构造方法的主要作用就是在创建对象时执行一些初始化操作,如给成员属性赋初值。(若类中没有构造方法,系统会自动生成无参构造方法,若有,就执行当前方法)方法的重载:方法名相同,方法参数个数或参数类型不同,则称该方法被重载了,这个过程被称为方法重载。5.static修饰符1) static修饰符可以用来修饰属性、方法和代码块。static修饰的变量属于这个类所有,即由这个类创建的所有对象共用同一个static变量。2) 在加载类的过程中,完成静态变量的内存分配,再执行静态块,两者是在创建对象之前执行的;3) 类属性,类方法可通过类名和对象名访问,实例属性、实例方法只能通过对象名访问;4) 类方法只能访问类属性和其他类方法。5) 静态方法中不能使用this和super关键字。6.private修饰符采用了private修饰符的变量不能在类外部访问,而通过public修饰的setter和getter方法访问;通过在setter方法中编写相应存取控制语句可以避免出现不符合实际需求的赋值。7.封装封装是面向对象的三大特征之一,就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问。8.this关键字this关键字是对一个对象的默认引用。只能调用实例变量、实力方法和构造方法。不能调用类方法和类变量,也不能调用局部变量。第二章 一、继承1.继承(inheritance)通过extends关键字来实现。 Java中支持单继承,即每个类只能有一个直接父类。 在Java中,所有的Java类都直接或间接地继承了Java.lang.Object类。Object是所有Java类的祖先。在定义一个类时,如果没有extends关键字,那么这个类直接继承Object类。 2.子类可以从父类中继承到哪些“财产”:1) 继承public和protect修饰的属性和方法,无论子类和父类是否在同一个包里。2) 继承默认权限修饰符(friendly)修饰的属性和方法,但子类和父类必须在同一个包里。3) 无法继承private修饰的属性和方法。4) 无法继承父类的构造方法。5) 在子类中可以根据需求对从父类继承的方法进行重新编写,称为方法的重写好人方法的覆盖。3.方法的重写需满足的需求:1) 重写方法好人被重写方法必须具有想的的方法名。2) 重写方法和被重写方法必须具有相同的参数列表。3) 重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。4) 重写方法不能缩小被重写方法的访问权限。4.重载与重写的区别1) 重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与发你值类型、访问修饰符无关。2) 重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同(或是其子类)、访问修饰符不能严与父类。4.super关键字super代表对当前对象的直接毒类对象的默认引用。在子类中可以通过super关键字来访问父类的成员。5.抽象类可有实体方法(抽象类不能通过new实例化),抽象方法必须在抽象类里。6.抽象类和抽象方法的特点1) 抽象类和抽象方法都通过abstract关键字来修饰。2) 抽象类不能实例化。抽象类可以没有、有一个或多个抽象方法,甚至全部方法都可以使抽象方法。3) 抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须重写所有的抽象方法才能实例化,否则子类号是一个抽象类。7.abstract关键字1) abstract 不能和private同时修饰一个方法。2) abstract不能和static同时修饰一个方法。3) abstract不能和final同时修饰一个方法和类。第三章、多态1.多态的含义多态是具有表现多种形态的能力的特征(同一个类表示形态有多种)。更专业的说法:同一个实现接口,使用不同的实例而执行不同的操作。2.子类到父类的转换(向上转型)1)/将int型常量或变量的值赋给double型变量,可以自动进行转换int i=5;double d1=5;/强double型常量或变量赋值给int型变量,进行强制类型转换Double d2=3.14;int a=(int)d2 ;2)子类到父类的转换Dog dog=new Dog(“欧欧”,”雪纳瑞”);Dog.eat();Pet p=new Dog(“欧欧”,”雪纳瑞”);/ 子类到父类的转换Pet.eat();转换规则:a) 将一个父类的引用指向一个子类的对象,称为向上转型(upcasting),自动进行类型转换。b) 此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法。c) 此时通过父类引用变量无法调用子类特有的方法。4.实现个多态的3个条件1) 继承的存在(继承是多态的基础,没有继承就没有多态)。2) 子类重写父类的方法(多态下调用子类重写后的方法)。3) 父类引用变量指向子类对象(子类到父类的类型转换)。5.父类到子类的转换(向下转型)当向上转型发生后,将无法调用子类特有的方法。将一个指向子类对象的父类引用给赋给一个子类的引用,称为向下转型,此时必须进行强制类型转换。6.instanceof 运算符该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为true或false。第四章、接口1.接口的含义在生活中,接口是一种规范,而在软件中,接口同样是一种规范和标准,它们可以约束类的行为,是一些方法特征的集合,但是没有方法的实现。1) 接口的命名规则与类相同。如果修饰符public,则该接口在整个项目中可见;如果省略修饰符,则该接口值在当前包可见。2) 接口中可以定义常量,不能定义变量。接口中的属性都会自动用public static final修饰,即接口中的属性都是全局静态常量。接口中的常量必须在定义时指定初始值.3) 接口中所有的方法都是抽象方法。接口中所有方法都会自动用public abstract修饰,即接口中只有全局抽象方法。4) 和抽象类不一样,接口也不能实例化,接口中不能有构造方法。5) 接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。6) 接口的实现类必须实现接口的全部方法,否则必须定义为抽象类。7) 一个类只能有一个直接父类,但可以通过implements实现多个接口。2.接口表示一种能力接口不仅弥补了Java中只支持单继承的缺点,还利于代码的扩展和维护。3.接口表示一种约定1)在面向对象编程中提倡面向接口编程,而不是面向实现编程。接口体现了约定和实现相分离的原则,通过面向接口编程,可以降低代码间的耦合性,提高代码的可扩展性和可维护性。2)面向接口编程就意味着:开发系统时,主体构架使用接口,接口构成系统的骨架,这样就可以通过更换实现接口的类来实现更换系统。4.面向对象设计原则1) 开闭原则2) 里氏替代原则3) 依赖倒转原则4) 单一职责原则5) 接口分离原则第六章、异常1.异常的含义异常就是在程序运行过程中所发生的不正常事件。如:所需文件找不到,网络连接不通或中断,等等。异常会中断正在运行的程序。2.异常处理异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws。1) 如果try块中所有语句正常执行完毕,不会发生异常,那么catch块中的所有语句都将被忽略。2) 如果try语句块在执行过程中遇到异常,并且这个异常与catch块中声明的异常类型相匹配,那么try语句块中剩下的代码都将被忽略,而相应的catch块将会被执行。3) 如果try语句块在执行过程中遇到异常,而抛出的异常在catch块里没有被声明,那么程序立刻退出。4) void printStackTrace():输出异常的堆栈信息。5) String getMessage():返回异常信息描述字符串。3.常见的异常类型:Exception 异常层次结构的根类ArrayIndexOutOfBoundsException数组下标越界ArithmeticException 算术错误情形,如以零作除数NullPointerException尝试访问null对象成员ClassNotFoundException尝试访问null对象成员InputMismatchException 欲得到的数据类型与实际得到的数据类型不匹配IllegalArgumentException 方法接收到非法参数ClassCastException对象强制类型转换出错NumberFormatException 数字格式转换异常,如把abc转换成数字4.finally语句块是否出现异常,都将执行finally语句块。Finally语句块不被执行的唯一情况:在异常处理代码中执行System.exit(1),将推出Java虚拟机。5.声明异常:throws 抛出异常:throw两者区别:1) 作用不同:throw用于在程序中抛出异常,throws用于声明在该方法内抛出了异常。2) 使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。3) 内容不同:throw抛出一个异常对象,而且只能是一个;throws后面跟异常类,而且可以跟多个异常类。第七章、集合框架1.Java集合框架包含的内容1) 接口:表示集合的抽象数据类型,如Connection、List、Set、Map、Iterator。2) 实现:集合框架中接口的具体实现,如:ArrayList、LinkedList、HashMap、HashSet.3) 算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算方法。4) 集合接口的区别:a) Connection接口存储一组不唯一(允许重复)、无序的对象b) Set接口继承Connection接口,存储一组唯一(不允许重复)、无序的对象。c) List接口继承Connection接口,存储一组不唯一(允许重复)、有序(以元素插入的次序来放置元素,不会重新排列)的对象。d) Map接口存储一组成对的键一值对象,通过key(键)到value(值)的映射。Map中的Iterator接口是负责定义访问和便利元素的接口。2.List接口中定义的各种常用方法方法名称说明boolean add(Object o)在列表末尾顺序添加元素,起始索引位置从0开始void add(int i,Object o)在指定的索引位置添加元素,原索引位置及其后面的元素依次后移注意:新添加元素的索引位置必须介于0和列表中元素个数之间int size()返回列表的元素个数Object get(int index)返回指定索引位置处的元素注:取出的元素是object类型,使用前需要进行强制类型转换boolean contains(Object o)判断列表中是否存在指定元素boolean remove(Object o)从列表中删除元素Object remove(int index)从列表中删除指定位置元素,起始索引位置从0开始3.Vector和ArrayList的异同在 ArrayList类出现之前,jdk中存在一个和它同样分配连续存储空间、实现了长度可变数组的集合类Vector。两者之间原理相同,功能相同,在很多情况下可以互用。1) Vector是线程安全的,ArrayList重速度,轻安全,是线程非安全的,所以当运行到多线程环境中时,需要管理员自己管理线程的同步问题。2) 当长度需要增长时,Vector默认增长为原来的一倍,而ArrayList只能增长50%,有利于节约内存空间。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新工人岗前考试题及答案解析
- 小学开学典礼活动策划方案2024版
- 职业卫生检测方案范本
- 施工安全监理员考试题库及答案解析
- 预防食物中毒的教学课件
- 码头泊位土石方施工方案
- 武汉检查井升降施工方案
- 教材全解有教学课件吗
- 多重耐药菌的防控与护理
- 公司前台季度工作总结
- 乡村振兴志愿服务技能大赛参考试题库(含答案)
- kinetix6200和6500模块化多轴伺服驱动器用户手册
- DB51∕T 2502-2018 中国川菜烹饪技术用语及菜名翻译规范
- 国外期刊运作的主要模式及发展趋势
- 区域性再生资源集散市场实施方案
- 液氨使用与储存安全技术规范
- 《幼儿园大班第一学期家长会》 PPT课件
- 施工手册柱式桥台
- PCR室作业指导书_检验SOP文件
- 宴会服务培训
- 上海市初级中学英语学科教学基本要求
评论
0/150
提交评论