欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    java期末考试复习重点 必考.docx

    • 资源ID:3159679       资源大小:46.40KB        全文页数:21页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java期末考试复习重点 必考.docx

    java期末考试复习重点 必考第一部分 知识点复习 第1章Java语言概述 1、 Java虚拟机 是软件模拟的计算机,执行保存在.class文件中的字节码。 Java虚拟机的Java解析器翻译为JVM可执行的字节码 2、字节码 字节码其实就是二进制编码,也叫伪代码。 三个步骤:类转载器字节码校验器java虚拟机 3、 环境变量JAVA_HOME、PATH、CLASSPATH JAVA_HOME:该环境变量的值就是javas所在的目录。 PATH:该环境变量指定一个路径列表,用于搜索可执行文件。 CLASSPATH:该环境变量也指定一个路径列表,用于搜索 java编译器或者运行时需要用到的类。 例程: JAVA_HOME = djavajdk; PATH = d:javajdkbin;%path%; CLASSPATH = .;djavajdkjrelibrt.jar 4、javac、java、appletviewer Javac :编译器读取java源代码,并将其编译成字节代码, 如 javac *.java;、美元符号等其它货币符号(如£, ¥)开始的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符。 合法:Body,_test,¥hello 非法:5Test,hello*/#,class 标识符是大小写敏感的,没有最大长度的限制,不能和关键字相同 2、关键字 所有的关键字都是小写的,如果大写就不是关键字了,java中无sizeof关键字,所有基本数据类型的长度和表示是确定的,不依赖执行环境,所以不需要此关键字。 3、三种注释 单行注释:/释内容 多行注释:/*注释文本 : : * / 文档注释:/*注释文本 *Author * */ 4、变量及其分类 变量:类型、变量名、和值。 分类:局部变量、类成员变量、方法参数、异常处理参数 5、常量的定义 整形常量234,实型常量23.4,字符常量a,布尔常量true和false,以及字符串常量“hello world!” ,final int MAX_LOOP=5; 6、Java的数据类型分类 整数类型(byte,short,int,long) 数值类型 浮点类型(float,double) 字符类型(char) 基本类型 布尔类型 数据类型 类(class) 引用类型 数组 7、变量的类型转换 8、掌握一维数组与二维数组的创建方法 第4章Java面向对象程序设计基础 1、对象、类、抽象、封装、继承、消息、多态概念的理解 答:对象是存在的具体实体,具有明确定义的状态和行为。 类是具有相同属性和行为的一组对象的集合。 抽象是去除一个事物中对当前目的不重要的细节,保留对当前目的具有决定意义的特征,形成数据抽象。 封装把对象的属性和对这些属性的操作封装在一个单独的数据结构中,并尽可能隐藏对象的内部细节 继承是一种有已有的类创建新类得机制。 消息是指请求对象执行某一处理或回答某些信息的要求。 多态用相同的名字来定义不同的方法。 2、类包括两个部分:类声明和类体 答:类声明的格式如下: 修饰符 class 类名 extends 超类名 implements接口名列表 可能的选项有: publicabstract|final class 类名 extends 超类名 implements 接口名列表 public(公共):public修饰的类能被所有的类访问。 abstract(抽象):abstract修饰的类不能被实例化,它包含 有未实现的方法。 final(最终):final修饰的类不能被继承,即不能有子类。 注意: abstract和final不能同时作为一个类的修饰符。 3、类的修饰符、成员变量的修饰符、成员方法的修饰符分别有哪些? 答:类的修饰符:public abstract final 注意:abstract和final不能同时作为一个类的修饰符。 成员变量的修饰符:默认访问修饰符:其修饰的成员变量可以被同一包中的任何类访问。 public:其修饰的成员变量可以被项目文件的任何方法访问,建议不要使用 protected:其修饰的成员变量可以被子类访问。 private:其修饰的成员变量只能在同一个类中使用。 static:其修饰的成员变量称为类变量或静态变量。不加static修饰的成为实例变量 final:其修饰的成员变量又称为最终成员变量或常量。 注意:abstract和final可以同时作为一个类的修饰符 transient:用来声明一个暂时性变量 volatile:声明一个多线程共享变量,使得各个线程对该变量的访问功能保持一致 成员方法的修饰符(9):default:可以被同一包中的任何类访问。 public :其修饰的方法可以由其他类访问。 protected:其修饰的方法只有子类可以访问。 private:只能由说明该方法的类访问。 static:其修饰的方法成为静态方法或类方法。无static修饰的方法为实例。 方法。类方法是所有对象共享的方法。 final:其修饰的方法为最终方法,不能由子类改变。 abstract:其修饰的方法为抽象方法,无方法体。 synchronized:其修饰的方法执行之前给方法设置同步机制,实现线程同步。 native:其修饰的方法为本地方法,即方法实现与本地计算机系统有关。 4、变量与方法的调用格式分别是什么? 答:成员变量: 在定义它的类内部来访问:直接通过成员变量名来访问。 在定义它的类的外部来访问:类变量的访问格式:类名.类变量名 类对象变量的访问格式:对象名.实例变量名 成员方法: 类方法:类名.类静态方法名 对象方法:类对象名.类非静态方法名 5、创建一个对象的3个步骤是什么? 答:1.对象的声明 格式为:类的名字 对象名字; 例:People zhanfeizhu 2.为声明的对象分配内存 使用new运算符和类的构造方法为声明的对象分配内存。 3.执行构造方法,进行初始化 例:zhanfeizhu = new People; 以上三个步骤的简化形式:People zhanfeizhu = new People; 6、构造方法的作用是什么? 答:构造方法可以确保用户正确地构造类得对象,同时,构造方法也会对对象做初始化工作。 7、多态可分为重载与覆盖两种形式。什么是重载?什么是覆盖?两者的区别是什么? 答:方法重载:指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,或者参数个数不同,或者参数的类型不同或者是返回值不同 方法重写:当子类中定义了一个方法,并且这个方法的名字、返回类型、参数个数以及类型与父类的某个方法完全相同时,父类的这个方法将被隐藏,这种情况被称为重写了父类的方法。 区别:重写是继承后重新实现父类的方法,重载是在一个类里一系列参数不同名字相同的方法。 8、理解和掌握成员变量及方法的访问权限 在Java中,可以选择四种访问方式:public、private、protected和default. 如果将一个成员变量或成员方法定义为public类型,则在同一类、子类、同一包中的类、不同的包中的类均可以访问该成员变量或成员方法。 / Demopub1.java package pub1; public class Demopub1 / public修饰是必需的。 /公共类型的成员变量 public int a; /公共类型的成员方法 public void method System.out.println; 如果声明一个成员变量或成员方法的访问类型为protected,则该成员变量或成员方法只能够被该类内部、子类和相同包中的类访问. 不同包中公共类中protected修饰的方法的访问 /Demopro3.Java package pro3; public class Demopro3 /公共类型的成员变量 public int a; /保护类型的成员方法 protected void method System.out.println; 如果一个变量或成员声明为私有类型,则该变量或方法只能在同一类中被访问。如例4-12所示 私有类型变量的访问 / DemoPrivate.java public class DemoPrivate public int a; / 公共类型的成员变量 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、final、this、super、null 1) final修饰成员变量 如果一个成员变量前面有final修饰,那么这个成员变量就变成了常量,一经赋值,就不允许在程序的其他地方修改。定义方式如下: final type variableName; 例如 class ConstTimeExpress final int MaxHour=23; final int MaxMinute=59; final int MaxSecond=59; 2) final修饰方法 方法的final修饰符表明方法不能被子类覆盖。带有final修饰符的方法称为最终方法。Java的方法除非被说明为最终方法,否则方法是可以被覆盖的。Java之所以这样规定,主要是因为Java的纯面向对象特性,它把覆盖当作面象对象的重要特性,给予了最大限度的实现。 把方法声明为最终方法有时可增加代码的安全性。 使用方式如下。 final returnType methodName(paramList) 例如: final int getLength(String s) 3)final类 final类不能被继承。由于安全性的原因或者是面向对象的设计上的考虑,有时候希望一些类不能被继承,例如,Java中的String类,它对编译器和解释器的正常运行有很重要的作用,不能轻易改变它,因此把它修饰为final类,使它不能被继承,这就保证了String类型的唯一性。同时,如果你认为一个类的定义已经很完美,不需要再生成它的子类,这时也应把它修饰为final类。 定义一个final类的格式如下: final class finalClassName 关键字this是用来指向当前对象或类实例的。例如: public class MyDate private int day, month, year; public void tomorrow this.day = this.day + 1; 这里,this.day指的是当前对象的day字段。或者在成员方法定义时,我们使用的形式参数与成员变量名称相同,这时我们要用到this。例如: class Demothis int a; /成员变量 public Demo(int a) this.a = a; 在Java语言规范中,null表示类或者变量是空,不代表任何 对象或实例。看下面的例子 SomeClass aSomeClass=null; 上面的语句中,只定义了类SomeClass的实例aSomeClass,但并没有为之创建任何对象。 第5章面向对象高级程序设计 1、子类是如何把父类的状态和行为转变为自身的状态和行为的? 答:子类通过“成员变量的隐藏和方法的重写”可以把父类的状态和行为转变为自身的状态和行为。 例子:下面这段程序就是这样的情况 class SuperClass int y; void setY y = 0; Class SubClass extends SuperClass int y; /在SubClass类里,父类的成员变量y被隐藏, 父类的方法被重写 void setY y=0; /于是子类对象所使用的成员变量y为子类中定义的y,子类对象调用的方法为子类中所实现的方法, 该重写方法和父类中被重写的方法具有相同的名字,相同的参数,相同的返回类型 2、super的使用可分为哪3种情况?试结合程序说明。 答:用来访问父类被隐藏的成员变量 (2)用来调用父类中被重写的方法 程序如下:class superClass Int y; superclass y=30; System.out.println(“in superClass:y=”+y); Void doPrint System.out.println(“In superClass.doPrint”); Class sub extends superClass Int y; Sub super( ); y=50; System.out.println(“in sub:y=”+y); Void doPrint Super.doPrint; System.out.println(“in sub.doPrint”); System.out.println(“super.y=”+super.y+“sub.y”+y); 运行结果如下:in superClass :y=30 in sub:y=50 In superClass.doPrint in sub.doPrint super.y=30 sub.y=50 用来调用父类的构造方法 程序如下:class A public int n; public A public A(int n) this.n = n; int method return n; public class B extends A public B super(18); public static void main(String args) 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); Public class Monkey extends Mammal void computer(int aa,int bb) int cc = aa*bb; System.out.println(cc); void crySpeak(String s) System.out.println(“*”+s+“*”); Public static void main(String args) Mammal mammal = new Monkey( ); Mammal.crySpeak(“I love this game”); Monkey monkey = (Monkey)mammal; Mputer(10,10); 运行结果如下:* I love this game* 100 注意:在main方法里,如果出现下面的两行代码,那是错误的: mammal.n=1000; /因为子类本来没有继承n puter(10,10); /因为computer方法是子类新增的方法 4、什么是编译时多态?什么是运行时多态? 答:1)编译时多态性(由方法重载实现的静态多态性) 对于多个同名方法,如果在编译时能够确定执行同名方法中的哪一个,则称为编译时多态性. 2)运行时多态性(由方法重写实现的动态多态性) 如果在编译时不能确定,只能在运行时才能确定执行多个同名方法中的哪一个,则称为运行时多态性 ,则运行系统调用父类的方法) 5、方法重写时应遵循的原则是什么? 答:1.改写后的方法不能比被重写的方法有更严格的访问权限 2.改写后的方法不能比重写的方法产生更多的异常 6、抽象类和接口这两者的异同是什么?它们分别是如何定义的? 答:ava语言中,用abstract关键字来修饰一个类时,这个类叫做抽象类。一个abstract 类只关心它的子类是否具有某种功能,并不关心该功能的具体实现,功能的具体行为由子类负责实现的。例如: public abstract class Drawing public abstract void drawDot(int x, int y); public void drawLine(int x1, int y1,int x2, int y2) 用abstract来修饰一个方法时,该方法叫做抽象方法。与final类和方法相反,abstract类必须被继承,abstract方法必须被重写。 当一个类的定义完全表示抽象的概念时,它不应该被实例化为一个对象。例如Java中的Number类就是一个抽象类,它只表示数字这一抽象概念,只有当它作为整数类Integer或实数类Float等的父类时才有意义。 定义一个抽象类的格式如下: abstract class abstractClass 由于抽象类不能被实例化,因此下面的语句会产生编译错误: new abstractClass; 抽象类中可以包含抽象方法,为所有子类定义一个统一的接口,对抽象方法只需声明,而不需实现,因此它没有方法体。其格式如下: abstrac returnType abstractMethod(paramlist); 1、 接口声明 我们曾使用class关键字来声明类,接口通过使用关键自interface 来声明. 完整的接口定义格式如下: public interface interfaceName extends listOfSuperInterface 其中public修饰符指明任意类均可以使用这个接口,缺省情况下,只有与该接口定义在同一个包中的类才可以访问这个接口。extends子句与类声明中的extends子句基本相同,不同的是一个接口可以有多个父接口,用逗号隔开,而一个类只能有一个父类。子接口继承父接口中所有的常量和方法。 通常接口名称以able或ible结尾,表明接口能完成一定的行为,例如Runnable、Serializable。 、接口的使用 一个类通过使用关键字implements 声明自己使用一个或多个接口。如果使用多个接口,用逗号隔开接口名。如 class Calculate extends Computer implements Summary,Substractable 类Calculate使用了Summary 和Substractable接口,继承了Computer类。 如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。需要注意的如下: 1)在类中实现接口的方法时,方法的名字,返回类型,参数个数及类型必须与接口中的完全一致。 2)接口中的方法被默认是public ,所以类在实现接口方法时,一定要用public 来修饰。 3)另外,如果接口的方法的返回类型如果不是void 的,那么在类中实现该接口方法时,方法体至少要有一个return 语句。如果是void 型,类体除了两个大括号外,也可以没有任何语句. 7、接口的使用需要注意的几个事项。 答:1.在类实现接口的方法时,方法的名字、返回类型、参数个数、参数类型必须与接口中的完全一致 2.接口中的方法被默认是public,所以类在实现接口的方法时,一定要用public来修饰 3.另外,如果接口的方法的返回类型不是void的,那么在类中实现该接口方法时,方法体至少要有一个return语句。如果是void型,类体除了两个大括号外,也可以没有任何语句。 8、理解内部类和匿名类的概念和作用。 内部类有如下特性: 一般用在定义它的类或语句块之内,在外部引用它时必须给 出完整的名称。名称不能与包含它的类名相同。 可以使用包含它的外部类的静态成员变量和实例成员变量,也可以使用它所在方法的局部变量。 可以定义为abstract。 可以声明为private或protected。 若被声明为static,就变成了顶层类,不能再使用局部变量。 若想在内部类中声明任何static成员,则该内部类必须声明为static。 Java将内部类作为外部类的一个成员,就如同成员变量和成员方法一样。因此外部类与内部类的访问原则是:在外部类中,通过一个内部类的对象引用内部类中的成员;反之,在内部类中可以直接引用它的外部类的成员,包括静态成员、实例成员及私有成员。 匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。 要采用另一种形式的new语句,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。 从技术上说,匿名类可被视为非静态的内部类,所以它们具有和方法内部声明的非静态内部类一样的权限和限制。 有关匿名类的使用详见本书第12章本分内容。 内部和匿名类是Java为我们提供的两个出色的工具。它们提供了更好的封装,结果就是使代码更容易理解和维护,使相关的类都能存在于同一个源代码文件中,并能避免一个程序产生大量非常小的类。 第6章字符串处理 1、String、StringBuffer类的区别及各自的常用方法。 答:区别:String类主要用来处理在程序运行初始化后其内容不能被改变的字符串 StringBuffer类主要用于完成字符串的动态添加、插入、替换等操作。 String类的常用方法: 1.字符串长度的计算: length( )方法 :可以获取一个字符串的长度。 例如:String s = “we are students”, tom = “我们是学生”; int n1,n2,n3; n1 = s.length( ); /n1的值是15 n2 = tom.length( ); /n2的值是5 n3 = “我的爱好”.length( ); /n3的值是4 StringBuffer类提供了三种构造方法,其格式如下: public StringBuffer 构造一个不包含字符的字符串缓冲区,其初始的容量设为 16 个字符。 public StringBuffer(int) 构造一个不包含字符的字符串缓冲区,其初始容量由参数设定。 public StringBuffer(String) 构造一个字符串缓冲区,来表示和字符串参数相同的字符序列。 字符串缓冲区的初始容量为16加上字符串参数的长度。 2、掌握StringTokenizer类的使用方法。 StringTokenizer类提供三种形式的构造函数: StringTokenizer(String str) StringTokenizer(String sb,String delim) / delim为分隔符号 StringTokenizer(String Sb,String delim,boolean returnTokens) 在对一个字符串进行解析的时候,在字符串中必须包括一个用于解析的分隔符号。Java置默认的分隔符为空格、制表符('t')、换行符('n')、回车符('r')。如果在程序计中想采用自定义的分隔符,可以通过在构造函数中指定delim项来设置用户分隔符。相应地,在StringTokenizer类中提供了相应的成员方法: 另外,如果 returnTokens 标志为 true, 则分隔符字符也被作为标记返回。每个分隔符作为长度为一的字符串返回。如果标志为 false, 则跳过分隔符字符,且把它作为标记之间的分隔符。 例如: StringTokenizer fenxi=new StringTokenizer("we are student"); StringTokenizer fenxi=new StringTokenizer("we ,are ; student", ", ; "); 1统计分隔符数量 public int countTokens 该方法返回的是字符串中的当前单词的数量,为整数。例如: String str=new String("I love Java"); StringTokenizer st=new StringTokenizer(str); int nTokens=st.countTokens; / 值为3 2匹配和寻找分隔符 通常,下面的两个组合方法均可以用来完成分隔符的寻找和匹配: hasMoreElements、nextElement 和 hasMoreTokens、nextToken、nextToken(String delim) 一般是用hasMoreTokens方法判断在字符串中是否还有已经定义的分隔符。如果有,除分隔符后、到下一个分隔符之前的内容进行一次循环。如果没有则终止循环。下面的两个程序应用hasMoreTokens、nextToken方法来寻找String对象中的分隔符。 利用StringTokenizer类进行简单词法分析 /TestToken.java import java.util.*; public class TestToken public static void main(String args) /构造StringTokenizer对象 StringTokenizer st = new StringTokenizer ("this is a Java programming"); /在字符串中匹配默认的分隔符 while(st.hasMoreTokens) /打印当前分隔符和下一分隔符之间的内容 System.out.println(st.nextToken);

    注意事项

    本文(java期末考试复习重点 必考.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开