2022年java期末考试复习知识点.docx

上传人:C****o 文档编号:50009416 上传时间:2022-10-12 格式:DOCX 页数:15 大小:79.86KB
返回 下载 相关 举报
2022年java期末考试复习知识点.docx_第1页
第1页 / 共15页
2022年java期末考试复习知识点.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《2022年java期末考试复习知识点.docx》由会员分享,可在线阅读,更多相关《2022年java期末考试复习知识点.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思6.1.2 字符串类几个常用方法String 类定义了很多方法,下面是几个最常用方法;public int length:返回字符串的长度,即字符串包含的字符 个数;留意,对含有中文或其他语言符号的字符串,运算长度时,一个符号作为一个字符计数;public char charAtint index:返回字符串中指定位置的字符,index表示位置,范畴为 0s.length-1;:将调用字符串与参数字符串连接起来,产生一public String concatString

2、str个新的字符串;public String substringint beginIndex, int endIndex: 从字符串的下标beginIndex 开头到 endIndex 终止产生一个子字符串;public String substringint beginIndex: 子链 子串 ; 从字符串的下标beginIndex 开头到终止产生一个子字符串;public String replacechar oldChar, char newChar :将字符串中的 全部 oldChar字符转变为 newChar 字符,返回一个新的字符串;public String to UpperC

3、ase :将字符串转换成 大写 字母; public String to LowerCase :将字符串转换成 小写 字母;public String trim:返回去掉了前后空白字符的字符串对象;vt.装饰 ; 修剪 ; 整理 ; adj.整齐的,干净的; 修长的 ; 苗条的 ; 修剪 ; 整齐 ; 健康状态 ; 装束 ; public boolean isEmpty:返回该字符串是否为空( ),假如 length 的结果为 0,方法返回 true ,否就返回 false ;下面程序要求从键盘输入一个字符串,判定该字符串是否是回文串;一个字符串, 假如从前向后读和从后向前读都一样,就称该串为

4、回文串;例如,文串;“ mom” 和“ 上海海上” 都是回算法思想: 对于一个字符串, 先判定该字符串的第一个字符和最终一个字符是否相等,假如相等,检查其次个字符和倒数其次个字符是否相等;这个过程始终进行,直到显现不相等的情形或者串中全部字符都检测完毕,当字符串有奇数个字符时,中间的字符不用检 查;6.1.7 String 对象的不变性 在 Java 程序中一旦创建一个 String 对象,就不能对其内容进行转变,因此说 Java 的 String 对象是不行变的字符串;有些方法看起来是修改字符串,但字符串修改后产生了另一个字符串,这些方法对原字 符串没有任何影响,原字符串永久不会转变;请看下

5、面的例子;.程序 6.6 ChangeString.java public class ChangeString public static void mainString args String s = new StringHello,world; s.replaceo,A; / s 的值并没有转变 s = s.substring0,6.concatJava; s.toUpperCase; / s 的值并没有转变 System.out.printlns; 程序运行结果为:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 9 页 - - -

6、 - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思Hello,Java Java 面对对象的三大特性,原理及区分继承(1)继承是一种联结类的层次模型,并且答应和勉励类的重用,它供应了一种明确表述共性的方法;(2)对象的一个新类可以从现有的类中派生,这个过程称为类继承,新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类);(3)派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特别的需要;封装(1)封装是把过程和数据包围起来,对数据

7、的拜访只能通过已定义的界面;面对对象运算始于这个基本概念,即现实世界可以被描画成一系列完全自治、封装的对象, 这些对象通过一个受爱护的接口拜访其他对象;多态性(1)多态性是指答应不同类的对象对同一消息作出响应;(2)多态性包括参数化多态性和包含多态性;(3)多态性语言具有敏捷、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题;封装:每个对象都包括进行操作所需要的全部信息,操作;通过类的实例来实现;而不依靠于其他对象来完成自己的好处:良好的封装可以降低耦合度;类的内部可以自由修改;类具有对外的清楚接口;继承: IS-A 的关系; A is-a B :A 是 B,A 可以继承 B;

8、A 是 B 的一个特例,特别化,A又可 以具备自己独有的个性;三点:子类拥有父类非private的属性和功能(父类的构造函数例外,可以用base 关键字拜访,base 代表着父类) ;子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;子类可以以自己的方式重写父类的功能;缺点:父类变,子类不得不变,父子是一种强耦合的关系;多态:不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行;留意点:子类以父类的身份显现;子类在运行时以自己的方式实现;子类以父类的身份显现时,子类特有的属性和方法不行以使用;为了使子类的实例完全接替来自父类的类成员,父类必需将该成员声明为虚拟的( vir

9、tual), 第 2 页,共 9 页 - - - - - - - - - 子类可以挑选使用override将父类的实现替换为自己的实现,这就是多态;封装 : 封装就是要把属于同一类事物的共性 包括属性与行为 归到一个类中, 以便利使细心整理归纳 精选学习资料 - - - - - - - - - - - - - - -名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思用. 比如人这个东东 , 可用下面的方式7.4 封装性与拜访修饰符在 Java 语言中,对象的封装是通过两种方式实现的:(1)通过包实现封装性;在定义类时使用

10、package 语句指定类属于哪个包;包是Java语言最大的封装单位,它定义了程序对类的拜访权限;(2)通过类或类的成员的拜访权限实现封装性;.7.4 封装性与拜访修饰符.7.4.1 类的拜访权限.7.4.2 类成员的拜访权限.7.4 封装性与拜访修饰符.在 Java 语言中,对象的封装是通过两种方式实现的:(1)通过包实现封装性;在定义类时使用package 语句指定类属于哪个包;包是Java语言最大的封装单位,它定义了程序对类的拜访权限;(2)通过类或类的成员的拜访权限实现封装性;.7.4.1 类的拜访权限.类(也包括接口和枚举等)的拜访权限通过修饰符 public 实现;它定义哪些类可以

11、使用该类;public 类可以被任何的其他类使用,而缺省拜访修饰符的类仅能被同一包中的类使用;下面的 Circle 类定义在 com.demo 包中,该类缺省拜访修饰符;package com.demo; class Circle / 类的拜访修饰符为缺省 Circle System.out.printlnCreating a circle; System.out.printlnCreating a circle; .7.4.1 类的拜访权限.在 Eclipse 中程序不能被编译,程序第一行显示的错误信息是:The type com.demo.Circle is not visible 意思是

12、 Circle 类型在该类中不行见;对显现这样问题可以有两种解决方法:(1)将 Circle 类的拜访修饰符修改为 public ,使它成为公共类,这样就可以被全部其他类拜访;(2)在 CircleTest类中加上一行package 语句,这样它们都在一个包中; package com.demo; .一般情形下,假如一个类只供应应同一个包中的类拜访可以不加拜访修饰符,假如仍期望被包外的类拜访,就需要加上 public 拜访修饰符;.7.4.2 类成员的拜访权限.类成员的拜访权限包括成员变量和成员方法的拜访权限;共有 4 个修饰符, 它们分别是 private、缺省的、 protected 和

13、public ,这些修饰符掌握成员可以在程序的哪些部分被拜访;细心整理归纳 精选学习资料 1. private 拜访修饰符 第 3 页,共 9 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思用 private修饰的成员称为私有成员,私有成员只能被这个类本身拜访,外界不能拜访;private 修饰符最能表达对象的封装性,从而可以实现信息的隐匿;.7.4.2 类成员的拜访权限程序 7.8 AnimalTest.java c

14、lass Animal private String name = animal; private void display System.out.printlnMy name is +name; public class AnimalTest public static void mainString args Animal a = new Animal; System.out.printlna.name = +a.name; a.display; 该程序将产生编译错误,由于在 Animal 类中变量 name 和 display 方法都声明为 private,因此在 AnimalTest

15、类的 main 方法中是不能拜访的;.假如将上面程序的main 方法写在 Animal 类中,程序能正常编译和运行;private这时, main 方法定义在Animal类中,它就可以拜访本类中的private变量和方法;类的构造方法也可以被声明为私有的,这样其他类就不能生成该类的实例,一般是通过调用该类的方法来创建类的实例;2. 缺省拜访修饰符.对于缺省拜访修饰符的成员,一般称为包可拜访的;这样的成员可以被该类本身和同一个包中的类拜访;其他包中的类不能拜访这些成员;.对于构造方法,假如没有加拜访修饰符,也只能被同一个包的类产生实例;. protected拜访修饰符时,一般称为爱护成员;该类成

16、员可以被这个.当成员被声明为protected类本身、同一个包中的其他类以及该类的子类 拜访;(包括同一个包以及不同包中的子类). 假如一个类有子类且子类可能处于不同的包中,为了使子类能直接拜访超类的成员,那么应当将其声明为爱护成员,而不应当声明为私有或默认的成员;.4. public 拜访修饰符. 用 public 修饰的成员一般称为公共成员,公共成员可以被任何其他的类拜访,但前提是类是可拜访的;. 表 7.3 总结了各种修饰符的拜访权限;.7.5.1 抽象方法和抽象类.前面定义了圆(Circle)类,假设仍要设计矩形(Rectangle )类和三角形(Triangle)类,这些类也需要定义

17、求周长和面积的方法;.这时就可以设计一个更一般的类,比如几何外形(Shape)类;在该类中定义求周长和面积的方法;由于几何外形不是一个详细的外形,这些方法就不能实现,因此要定义为抽象方法(abstract method);.抽象方法只有方法的声明,abstract 修饰符;没有方法的实现, 定义抽象方法需要在方法前加上细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思.包含抽

18、象方法的类应当定义为抽象类(abstract class),定义抽象类需要在类前加上 abstract 修饰符;下面定义的 Shape 类即为抽象类,其中定义了两个抽象方法;.程序 7.9 Shape.java public abstract class Shape private String name; public Shape / 抽象类可以定义构造方法 public ShapeString name this.name = name; / 抽象类可以定义非抽象方法 public void setNameString name this.name = name; public Strin

19、g getName return name; public abstract double perimeter; / 定义抽象方法 public abstract double area; . 抽象方法的作用是为全部子类供应一个统一的接口;对抽象方法只需声明,不需实现,即在声明后用一个分号(; )终止,而不需要用大括号;.在抽象类中可以定义构造方法,这些构造方法可以在子类的构造方法中调用;尽管在抽象类中可以定义构造方法,但抽象类不能被实例化,即不能生成抽象类的对象,如以下语句将会产生编译错误: Shape sh = new Shape; .在抽象类中可以定义非抽象的方法;可以创建抽象类的子类,

20、抽象类的子类仍可以是抽象类;只有非抽象的子类才能使用new 创建该类的对象;.抽象类中可以没有抽象方法,但仍旧需要被子类继承,才能实例化;.留意:由于abstract类必需被继承而final类不能被继承,所以final和abstract不能在定义类时同时使用;Shape 类并实现了其中的抽象方法;.下面重新定义了Circle类,它继承了.接口( interface)是常量和方法的集合,这些方法只有声明没有实现;接口主要用来实现多重继承;接口定义了一种可以被类层次中的任何类实现的行为的协议;.接口的定义与类的定义类似,包括接口声明 和接口体两部分;接口声明的一般格式如下: public inte

21、rface InterfaceName extends SuperInterfaces publicstaticfinal type name= value ; publicabstract returnType methodNameparamlist throws ExceptionList; 接口声明使用interface关键字, InterfaceName 为接口名; extends 表示该接口继承(扩展)了哪些接口;细心整理归纳 精选学习资料 一个接口可以继承多个接口;假如接口使用public修饰,就该接口 第 5 页,共 9 页 - - - - - - - - - - - - - -

22、 - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思可以被全部的类使用,否就接口只能被同一个包中的类使用;大括号内为接口体,接口体中包含常量定义和方法定义两部分;常量的定义可以缺省修饰符,但系统会自动加上 public 、final、static 属性;接口中的方法只有声明,没有实现, 方法也可以缺省修饰符,缺省修饰符系统自动加上 public 、abstract 属性,接口中的全部方法都是抽象方法;因此,接口是比抽象类仍抽象的类型;构造方法的调用过程java 中构造一个类实例 ,

23、 就要第一构造它的父类 , 由于子类是由父类派生而来 , 只有有了父类才可能有子类 . 而对于类本身的构造过程中 , 是要第一按次序来对它的成员变量进行初始化 , 然后再调用其构造方法 . 所以 java 中构造一个类的整个过程可以懂得为:假如有父类 先 1 构造父类 然后构造本类 2 本类成员变量初始化 3 调用本类构造方法实际上在每个类 除 Object 外 的构造造方法中都要执行 super 方法 , 默认的情形下系统会自动为构造方法最前面加上 super 这条语句 , 我们可以显示的写出来 , 并且也可为其加上参数 , 前提是父类有相对应的构造方法 条语句的作用 . . 前面说的构造本

24、类之前要构造父类就是这成员变量的初始化过程是在 super 语句后面其它方法体前面执行的假如某个类的父类有多个构造方法时 的构造方法来构造父类子类就可以用不同的参数调用父类中相对应假如加上自由块和静态的自由块 执行的次序为:父类的静态自由块 子类的静态自由块, 父类的静态成员变量被初始化 , 子类的静态成员变量被初始化父类的自由块 , 父类的成员变量被初始化父类的构造方法子类的自由块 , 子类的成员变量被初始化子类的构造方法自由块和成员变量是等同的优先级被初始化的例:public class E public static void mainString args new B; 细心整理归纳

25、精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思class A System.out.println 父类 A 的自由块 ; A System.out.println 父类 A 的构造方法 n; D d = new D父类 A 的成员变量被初始化n; static System.out.println 父类 A 的静态自由块 ; static D dd = new D父类 A 的静态成员

26、变量被初始化n; class B extends A static D ddd = new D子类 B的静态成员变量被初始化; static System.out.println 子类 B 的静态自由块 n; D dddd = new D子类 B 的成员变量被初始化; B super; System.out.println 子类 B 的构造方法 ; System.out.println 子类 B 的自由块 n; class D DString str System.out.printlnstr; 掩盖只能发生在有父子关系的时候,也就是子类在可以拜访父类方法的情形下,可以对 第 7 页,共 9

27、页 父类的方法进行重写,要求 : 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思1.方法名完全相同 2.参数列表完全相同3.返回类型可以为原先返回类型的子类,这种叫做协变式返回,除了这种情形外,不能修改返回类型 . 重载通常发生在同一个类中,但同样可以发生在继承关系中,也就是子类照样能重载父类的方法(有同样的重载要求),要求 : 1.方法名完全相同 2.参数列表必需转变 ,也就是重载的方法参数类

28、型、序顺必需不能和原先的一样;3.返回类型没有要求,可以有或没有返回类型;综上,两者的相同是:方法名相同不同点是:1.掩盖发生在继承关系中,重载发生在同一类或继承关系中;2.方法重载必需对参数做转变,而方法重写没有要求;3.重载对返回类型没有要求,而重写必需返回原先方法的类型或该类型的子类;方法掩盖(重写)和方法重载具有以下相同点: 都要求方法同名; 都可以用于抽象方法和非抽象方法之间;方法掩盖和方法重载具有以下不同点: 方法掩盖要求参数签名必需一样,而方法重载要求参数签名必需不一样;方法掩盖要求返回类型必需一样,而方法重载对此不做限制; 方法掩盖只能用于子类掩盖父类的方法,方法重载用于同一个

29、类的全部方法(包括从父类中继承而来的方法) ; 方法掩盖对方法的拜访权限和抛出的反常有特别的要求,制;而方法重载在这方面没有任何限 父类的一个方法只能被子类掩盖一次,而一个方法在所在的类中可以被重载多次反常大体分为编译反常和运行反常两类,假如用软件开发(如 代码时得到提示,而运行反常需要在运行时才能得到提示;Eclipse )编译反常在写下面介绍几种常见的反常类型,便于在出错时对程序进行查错:细心整理归纳 精选学习资料 (1)Exception 各种反常的根类 第 8 页,共 9 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结

30、精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思假如你不知道将发生的反常集体属于哪,而可以确定种这个地方会显现反常时,可以把反常类型定义为 Exception ;(2)ArithmeticException 算数运算错误反常这个反常是在算数运算时常常遇到的,常见的情形是除数为0 时抛出的反常;(3)ArrayIndexOfOutBoundsException 数组下标越界编程时要记住 Java 数组下标是从 0 开头的,数组下标最大值为数组长度减 1,如 arr10,最终一个数组元素是 arr9,假如写成 arr10 就会显现 Ar

31、rayIndexOfOutBoundsException反常;(4)NullPointException 空指针反常这个反常是针对调用未经初始化或未定义的对象抛出的反常;(5)ClassNotFoundException 不能加载所需的类在 java 文件编译后,可能是由于需要把 .class 文件移到了其他的文件夹,此时引用这个.class 文件要留意修改其路径,否就会抛出 ClassNotFoundException 反常;(6)InputMismatchException 输入的数据类型与所需类型不匹配反常比如你需要int类型,但是通过输入框得到的是String类型,就会抛出 第 9 页

32、,共 9 页 - - - - - - - - - InputMismatchException反常;(7)IllegalArgumentException 方法接受非法参数这个是传入方法中的参数类型不正确,如方法plus (int a,int b),调用时写成a.plus1,a就会显现IllegalArgumentException反常;(8)NumberFormatException 字符串转换成数字反常在数据类型强制转换时显现的反常,字符串“123” 转换成数字123 不会显现反常,但是字符串 “ 123” 转换成 int类型就会抛出ClassCastException反常;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁