java期末考试复习重点必考(广东石油化工学院).docx

上传人:太** 文档编号:73062691 上传时间:2023-02-15 格式:DOCX 页数:12 大小:32.29KB
返回 下载 相关 举报
java期末考试复习重点必考(广东石油化工学院).docx_第1页
第1页 / 共12页
java期末考试复习重点必考(广东石油化工学院).docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

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

1、第一局部学问点复习第1章Java语言概述1、Java虚拟机是软件模拟的计算机,执行保存在.class文件中的字节码。Java虚拟机的Java解析器(java.exe)负责将字节码文件解释成为特定的机器代码 执行。Java编译程序将java源程序(.java)翻译为JVM可执行的字节码(.class)2、字节码字节码其实就是二进制编码,也叫伪代码。三个步骤:类转载器一一字节码校验器一一java虚拟机3、环境变量 JAVA_HOME PATH、CLASSPATHJAVA_HOME:该环境变量的值就是javas所在的名目。PATH:该环境变量指定一个路径列表,用于搜寻可执行文件。CLASSPATH:

2、该环境变量也指定一个路径列表,用于搜寻java编译器或者运行时需要用到的类。例程:JAVA.HOME = djavajdk;PATH= d:javajdkbin; % path %;CLASSPATH = .;djavajdkjrelibrt.jar4、javac java appletviewerJavac :编译器读取java源代码,并将其编译成字节代码,如 javac *.java; (*为类名);Java :解析器可用来直接解释执行jaca字节代码,如java *;Appletvicwer:可以测试小应用程序applet,读取包含小应用程序的HTML文件在一个窗口运行它们,读取命令行中

3、的URL 所指定的 HTML 文件,如 appletviewer *htmlo5、Application AppletApplication应用程序是在计算机中单独运行,而Applet小应用程序只能嵌入在Html网页中运行。第2章数据类型及其运算1、标识符定义在Java中标识符是以字母、下划线U、美元符号($)等其它货币符号(如,) 开头的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符。合法:Body, Yhello非法:5Test,hello*/#,class标识符是大小写敏感的,没有最大长度的限制,不能和关键字一样2、关键字全部的关键字都是小写的,假设大写就不是关键字了,jav

4、a中无sizeof关键字,全 部根本数据类型的长度和表示是确定的,不依靠执行环境,所以不需要此关键字。int cc = aa*bb;System.out.println(cc); void crySpeak(String s) System.out.println(*+s+*); Public static void main(String argsl) Mammal mammal = new Monkcy(); Mammal.crySpcakf41 love this game);Monkey monkey = (Monkey)mammal;Monkey puter(10,10);1 )运行

5、结果如下:* I love this game*100留意:在main 0方法里,假设消灭下面的两行代码,那是错误的: mammal.n=1000;由于子类原来没有继承n mammalputer(lOJO);由于computer方法是子类增的方法4、什么是编译时多态?什么是运行时多态?答:1)编译时多态性(由方法重载实现的静态多态性)对于多个同名方法,假设在编译时能够确定执行同名方法中的哪一个,则称为 编译时多态性.2)运行时多态性(由方法重写实现的动态多态性)假设在编译时不能确定,只能在运行时才能确定执行多个同名方法中的哪一个, 则称为运行时多态性(重写方法的调用原则如下:java运行时系统

6、依据调用该方法的实例,来打算调用 那个方法;对子类的一个实例,假设子类重写了父类的方法,则运行时系统调用 子类的方法;假设子类继承了父类的方法(未重写),则运行系统调用父类的方 法)5、方法重写时应遵循的原则是什么?答:1.改写后的方法不能比被重写的方法有更严格的访问权限2.改写后的方法不能比重写的方法产生更多的特别6、抽象类和接口这两者的异同是什么?它们分别是如何定义的?答:ava语言中,用abstract关键字来修饰一个类时,这个类叫做抽象类。个abstract类只关心它的子类是否具有某种功能,并不关心该功能的具体实现,功 能的具体行为由子类负责实现的。例如:public abstract

7、 class Drawing public abstract void drawDot(inl x, int y);public void drawLine(int xl, int yl,int x2, int y2)()1用abstract来修饰一个方法时,该方法叫做抽象方法。与final类和方法相反,abstracl类必需被继承,abslract方法必需被重写。当一个类的定义完全表示抽象的概念时,它不应当被实例化为一个对象。例如 Java中的Number类就是一个抽象类,它只表示数字这一抽象概念,只有当它作 为整数类Integer或实数类Float等的父类时才有意义。定义一个抽象类的格式如

8、下:abstract class abstractClass )由于抽象类不能被实例化,因此下面的语句会产生编译错误:new abstractclass;抽象类中可以包含抽象方法,为全部子类定义一个统一的接口,对抽象方 法只需声明,而不需实现,因此它没有方法体。其格式如下:abstrac returnType abstractMethod(paramlist);1、接口声明我们曾使用class关键字来声明类,接口通过使用关键自interface来声明.完整的接口定义格式如下:public interface interfaceName extends HstOfSuperlnterface 其

9、中public修饰符指明任意类均可以使用这个接M,缺省状况下,只有与该接口 定义港同一个包中的类才可以访问这个接口。extends子句与类声明中的extends 子句根本一样,不同的是一个接口可以有多个父接口,用逗号隔开,而一个类只 能有一个父类。子接口继承父接口中全部的常量和方法。通常接口名称以able或ible结尾,说明接口能完成确定的行为,例如 Runnable、Serializable。、接口的使用一个类通过使用关键字implements声明自己使用(或实现)一个或多个接口。 假设使用多个接口,用逗号隔开接口名。如class Calculate extends Computer imp

10、lementsSummary,Substractablef,类 Calculate 使用了 Summary 和 Substractable 接口,继承了 Computer 类。假设一个类使用了某个接口,那么这个类必需实现该接口的全部方法,即为这些方 法供给方法体。需要留意的如下:1)在类中实现接口的方法时,方法的名字,返回类型,参数个数及类型必需与接口 中的完全全都。2)接U中的方法被默认是public,所以类在实现接口方法时,确定要用public来 修饰。3)另外,假设接口的方法的返回类型假设不是void的,那么在类中实现该接口方 法时,方法体至少要有一个return语句。假设是void型,

11、类体除了两个大括号外, 也可以没有任何语句.7、接口的使用需要留意的几个事项。答:1.在类实现接口的方法时,方法的名字、返回类型、参数个数、参数类 型必需与接口中的完全全都2 .接口中的方法被默认是public,所以类在实现接口的方法时,确定要用 public来修饰.另外,假设接口的方法的返回类型不是void的,那么在类中实现该接 方法时,方法体至少要有一个return语句。假设是void型,类体除 了两个大括号外,也可以没有任何语句。8、理解内部类和匿名类的概念和作用。内部类有如下特性:一般用在定义它的类或语句块之内,在外部引用它时必需给出完整的名称。名称 不能与包含它的类名一样。可以使用包

12、含它的外部类的静态成员变量和实例成员变量,也可以使用它所在方 法的局部变量。可以定义为abstracto可以声明为privale或protected。假设被声明为static,就变成了顶层类,不能再使用局部变量。假设想在内部类中声明任何static成员,则该内部类必需声明为static。Java将内部类作为外部类的一个成员,就如同成员变量和成员方法一样。因此外 部类与内部类的访问原则是:在外部类中,通过一个内部类的对象引用内部类中 的成员;反之,在内部类中可以直接引用它的外部类的成员,包括静态成员、实 例成员及私有成员。匿名类是不能知名称的类,所以没方法引用它们。必需在创立时,作为new语 句

13、的一局部来声明它们。要承受另一种形式的new语句,如下所示:new类或接口类的主体)这种形式的new语句声明一个的匿名类,它对一个给定的类进展扩展,或者 实现一个给定的接口。它还创立那个类的一个实例,并把它作为语句的结果而返回。 要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。从技术上说,匿名类可被视为非静态的内部类,所以它们具有和方法 内部声明的非静态内部类一样的权限和限制。有关匿名类的使用详见本书第12章本分内容。内部和匿名类是Java为我们供给的两个精彩的工具。它们供给了更好的封装, 结果就是使代码更简洁理解和维护,使相关的类都能存在于同一个源代码文件中 (这要归功于内部

14、类),并能避开一个程序产生大量格外小的类(这要归功于匿 名类)。第6章字符串处理1、String、StringBuffer类的区分及各自的常用方法。答:区分:String类主要用来处理在程序运行初始化后其内容不能被转变的字 符串(String型变量一月经过初始化,就不能被转变了) StringBuffer类主要用于完成字符串的动态添加、插入、替换等操 作。String类的常用方法:1.字符串长度的计算:lenglh()方法:可以猎取一个字符串的长度。例如:String s =we are students, tom = 我们是学生”;int nl,n2,n3;nl = s.length();/

15、nl 的值是 15n2 = tom.lcngth();/n2 的值是 5n3二“我的爱好”.length();/n3的值是4StringBuffer类供给了三种构造方法,其格式如下:public StringBuffer构造一个不包含字符的字符串缓冲区,其初始的容量设为16个字符。public StringBuffer(int)构造一个不包含字符的字符串缓冲区,其初始容量由参数设定。public StringBuffer(Slring)构造一个字符串缓冲区,来表示和字符串参数一样的字符序列。字符串缓 冲区的初始容量为16加上字符串参数的长度。2、把握SlringTokenizer类的使用方法。

16、StringTokenizer类供给三种形式的构造函数:StringTokcnizcr(String str)StringTokenizer(String sb, String delim) delim 为分隔符号StringTokenizer(String Sb, String delim, boolean returnTokens)在对一个字符串进展解析的时候,在字符串中必需包括一个用于解析的分隔符 号。Java置默认的分隔符为空格、制表符(“ t”)、换行符(“ n”)、回车符 (r )o假设在程序计中想承受自定义的分隔符,可以通过在构造函数中指定 delim项来设置用户分隔符。相应地,

17、在StringTokenizer类中供给了相应的成员 方法:另外,假设returnTokens标志为true,则分隔符字符也被作为标记返回。每个分 隔符作为长度为一的字符串返回。假设标志为false,则跳过分隔符字符,且把 它作为标记之间的分隔符。例如:StringTokenizer fenxi=new StringTokenizer( we are student );StringTokenizer fenxi=new StringTokenizer( we ,are ; student ”,”,;);L统计分隔符数量public int countTokens该方法返回的是字符串中的当前单

18、词的数量,为整数。例如:String str=ncw String( I love Java );StringTokenizer st=new StringTokenizer(str);int nTokens=st.countTokens; 值为 32.匹配和查找分隔符通常,下面的两个组合方法均可以用来完成分隔符的查找和匹配: hasMoreElements、nextEIement和hasMoreTokens nextToken nextToken(String delim)一般是用hasMoreTokens方法推断在字符串中是否还有已经定义的分隔符。假设 有,除分隔符后、到下一个分隔符之前的

19、内容进展一次循环。假设没有则终止循 环。下面的两个程序应用hasMoreTokens nextToken方法来查找String对象中的 分隔符。【例6-5利用StringTokenizer类进展简洁词法分析/TestToken.javaimport java.util.*;public class TestToken(public static void main(String args)(构造 StringTokenizer 对象StringTokenizer st = new StringTokenizer(this is a Java programming ”);在字符串中匹配默认的分

20、隔符while(st.hasMoreTokens)(打印当前分隔符和下一分隔符之间的内容System.oul.println(st.nextToken);)3、三种注释1)单行注释:/释内容(2)多行注释:/*注释文本(3)文档注释:/*注释文本* Author*/4、变量及其分类变量:类型、变量名、和值。分类:局部变量、类成员变量(静态变量和实例变量)、方法参数、特别处理参数5、常量的定义整形常量234,实型常量23.4,字符常量a,布尔常量true和false,以及字符 串常量hello world!” ,final int MAX_L00P=5;6、Java的数据类型分类整数类型(byt

21、e,short,intong)r数值类型Y.浮点类型(float,double)r根本类型 字符类型(char)布尔类型(boolean)数据类型Y类(class)I引用类型y匚数组7 亦!1 4,火用上+, ,/七 In 3”、 _八 K ”号 TTJ :人 iJJ、I JBk i n. q 11 可能的选项有:publicabstract|final| class 类名extends 超类名 implements 接口名列表 Ipublic(公共):public修饰的类能被全部的类访问。abstract(抽象):abstract修饰的类不能被实例化,它包含有未实现的方法。 final(最终

22、):final修饰的类不能被继承,即不能有子类。留意:abstracl和final不能同时作为一个类的修饰符。3、类的修饰符、成员变量的修饰符、成员方法的修饰符分别有哪些?答:类的修饰符(3): public其修饰的类能被全部的类访问)abslracl (其修饰的类不能被实例化, 它包含有未实现的方法)final(其修饰的类不能被继承,即不能有 子类)留意:abstract和final不能同时作为一 个类的修饰符。成员变量的修饰符(8):默认访问修饰符:其修饰的成员变量可以被同 一包中的任何类访问。public:其修饰的成员变量可以被工程文件的任 何方法访问,建议不要使用protected:其

23、修饰的成员变量可以被子类访问。private:其修饰的成员变量只能在同一个类中使 用。static:其修饰的成员变量称为类变量 或静态变量。不加static修饰的成为实 例变量final:其修饰的成员变量又称为最终成员变 量或常量。留意:abstract和final可以同时作为一 个类的修饰符transient:用来声明一个临时性变量volatile:声明一个多线程共享变量,使 得各个线程对该变量的访问功能保持 全都成员方法的修饰符(9): default 默认):可以被同一包中的任何类访问。public :其修饰的方法可以由其他类访问。protected:其修饰的方法只有子类可以 访问。pr

24、ivate:只能由说明该方法的类访问。static:其修饰的方法成为静态方法或类方法。无static修饰的方法为实例。方法。类方法是全部对象共享的方法。final:其修饰的方法为最终方法,不能由子类转 变。abstract:其修饰的方法为抽象方法,无方法体。synchronized:其修饰的方法执行之前给方法设置 同步机制,实现线程同步。native:其修饰的方法为本地方法,即方法实现与 本地计算机系统有关。4、变量与方法的调用格式分别是什么?答:成员变量:在定义它的类内部来访问:直接通过成员变量名来访问。在定义它的类的外部来访问:类变量的访问格式:类名.类变量名类对象变量的访问格式:对象名.

25、实例变量 名成员方法:类方法(静态方法):类名类静态方法名(实参列表)对象方法(实例方法):类对象名.类非静态方法名(实参列表)5、创立一个对象的3个步骤是什么?答:1.对象的声明 格式为:类的名字 对象名字;例:People zhanfeizhu.为声明的对象安排内存使用new运算符和类的构造方法为声明的对象安排内存。2 .执行构造方法,进展初始化 例:zhanfeizhu = new People 876 u ; 以上三个步躲的简化形式:People zhanfeizhu = new People (876 ”);6、构造方法的作用是什么?答:构造方法可以确保用户正确地构造类得对象,同时,

26、构造方法也会对对 象做初始化工作。7、多态可分为重载与掩盖(重写)两种形式。什么是重载?什么是掩盖?两 者的区分是什么?答:方法重载:指一个类中可以有多个方法具有一样的名字,但这些方法的 参数必需不同,或者参数个数不同,或者参数的类型不同或 者是返回值不同方法重写:当子类中定义了一个方法,并且这个方法的名字、返回类型、 参数个数以及类型与父类的某个方法完全一样时,父类的这 个方法将被隐蔽,这种状况被称为重写了父类的方法。区分:重写是继承后重实现父类的方法,重载是在个类里系列参数 不同名字一样的方法。8、理解和把握成员变量及方法的访问权限在Java中,可以选择四种访问方式:public、priv

27、ateprotected和default司T表4-3 Java类的成员变量和成员方法访问权限J 访问权限J同T类同一包中*不同包的子类不同包即好娄privat e*3可以default*3可以可以,protacted/可以小可以/可以“p1public*3可以a可以,可以7可以,假设将一个成员变量或成员方法定义为public类型,则在同一类、子类、同一 包中的类、不同的包中的类均可以访问该成员变量或成员方法。/ Demopubl.javapackage publ;public class Demopubl / public 修饰是必需的。公共类型的成员变量public int a;公共类型的成

28、员方法public void methodSystem.out.println;)假设声明一个成员变量或成员方法的访问类型为protected,则该成员变量或成 员方法只能够被该类内部、子类和一样包中的类访问.【例4-11不同包中公共类中protected修饰的方法的访问/Demopro3Javapackage pro3;public class Demopro3(公共类型的成员变量 public int a;保护类型的成员方法protected void method(System.out.println;)假设一个变量或成员声明为私有类型,则该变量或方法只能在同一类中被访问。如例4-12所

29、示【例4-12私有类型变量的访问/ DemoPrivate.javapublic class DemoPrivatepublicinta; /公共奖型的成员变量private int b; /私有类型的成员变量public int getA 公共类型的成员方法return a;)private int getB私有类型的成员方法return b;public DemoPrivate(int a,int b) 构造方法this.a = a;this.b = b;9、finak this super、null final修饰成员变量假设一个成员变量前面有final修饰,那么这个成员变量就变成了常量

30、,一经赋值,就不允许在程序的其他地方修改。定义方式如下:final type variableName;例如classConstTimeExpressj fi nal int MaxHour=23; final int MaxMinute=59;final int MaxSecond=59;2) final修饰方法方法的final修饰符说明方法不能被子类掩盖。带有final修饰符的方法称 为最终方法。Java的方法除非被说明为最终方法,否则方法是可以被掩盖的。Java 之所以这样规定,主要是由于Java的纯面对对象特性,它把掩盖当作面象对象 的重要特性,赐予了最大限度的实现。把方法声明为最终方

31、法有时可增加代码的安全性。使用方式如下。final returnType methodName(paramList) 例如:final int getLength(String s)13)final 类final类不能被继承。由于安全性的缘由或者是面对对象的设计上的考虑, 有时候期望一些类不能被继承,例如,Java中的String类,它对编译器和解释器 的正常运行有很重要的作用,不能轻易转变它,因此把它修饰为final类,使它 不能被继承,这就保证了String类型的唯一性。同时,假设你认为一个类的定义 已经很完善,不需要再生成它的子类,这时也应把它修饰为final类。定义一个final类的格

32、式如下:final class finalClassName)关键字this是用来指向当前对象或类实例的。例如:public class MyDate private int day, month, year;public void tomorrow this.day = Ihis.day + 1;I1这里,出is.day指的是当前对象的day字段。或者在成员方法定义时,我们使用 的形式参数与成员变量名称一样,这时我们要用到thiso例如:class Demothisint a;成员变量public Demo(int a)(this.a = a;)在Java语言标准中,null表示类或者变量是

33、空,不代表任何对象或实例。看 下面的例子SomeClass aSomeClass=nuII;上面的语句中,只定义了类SomcClass的实例aSomeClass,但并没有为之创立任 何对象。第5章面对对象高级程序设计1、子类是如何把父类的状态和行为转变为自身的状态和行为的?答:子类通过“成员变量的隐蔽和方法的重写”可以把父类的状态和行为转 变为自身的状态和行为。(附加)例子:下面这段程序就是这样的状况classSupcrClassint y;void setY y=0;)Class SubClass extends Superclass)int y;在SubClass类里,父类的成员变量y被隐

34、蔽,父类的方法被重写void setY (y=o; I于是子类对象所使用的成员变量y为子类中定义的y,子类对象调用的方法为子类中所实现的方法,该重写方法和父类中被重写的方法具有一样的名字,一样的参数, 样的返回类型2、super的使用可分为哪3种状况?试结合程序说明。答(1)用来访问父类被隐蔽的成员变量(2)用来调用父类中被重写的方法程序如下:class superClass(Int y;superclassy=30;System.out.println( in superClass:y二 +y);Void doPrintSystem.out.println( aIn superClass.d

35、oPrintn );(1Class sub extendssuperClass Inty;Sub(super();y=50;Systcm.out.println( insub:y= +y);Void doPrintSuper.doPrint;System.out.println( in sub.doPrint );System.out.println( super.y= +super.y+ “sub.y +y); )运行结果如卜.: in superclass :y=30 in sub:y=50In superCIass.doPrintin sub.doPrintsupcr.y=30 sub.

36、y=50(3)用来调用父类的构造方法 程序如下:class A public int n;public Apublic A(int n) this, n = n; int method(return n;) public class B extendsApublic B super(18);)public static void main(Stringargs) A a = new B;int b = a. method;System. out . println(“类A中的成员变量:+b); )3、上转型对象的特点有哪些?试结合程序说明。答:1.上转型对象不能操作子类增的成员变量和子类增的方法2 .上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继 承或重写的方法3 .假设子类重写了父类某个方法后,当对象的上转型对象调用这个方法 时确定是调用了这个重写的方法,由于在运行时知道,这个上转型对象的实体是子类创立的,只 不过损失了一些功能而已程序如下:class Mammal private int n = 40;void crySpeak(String s) System.out.println(s);1Public class Monkey extendsMammal)void computcr(int aa,int bb)

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

当前位置:首页 > 应用文书 > 解决方案

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

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