【Java精品源码栏目提醒】:网学会员Java精品源码为您提供java期末考试复习重点_必考(广东石油化工学院__姚明版_) - 大学课件参考,解决您在java期末考试复习重点_必考(广东石油化工学院__姚明版_) - 大学课件学习中工作中的难题,参考学习。
…第一部分 知识点复习 第 1 章
Java 语言概述1、
Java 虚拟机是软件模拟的计算机,执行保存在.class 文件中的字节码。
Java 虚拟机的
Java 解析器(
java.exe负责将字节码文件解释成为特定的机器代码执行。
Java 编译程序将
java 源程序(.
java)翻译为 JVM 可执行的字节码(.class)2、字节码字节码其实就是二进制编码,也叫伪代码。
三个步骤:类转载器——字节码校验器——
java 虚拟机3、 环境变量
JAVA_H OME、PATH、CLASSPATHJAVA_HOME:该环境变量的值就是 javas 所在的目录。
PATH:该环境变量指定一个路径列表,用于搜索可执行文件。
CLASSPATH:该环境变量也指定一个路径列表,用于搜索
java 编译器或者运行时需要用到的类。
例程:
JAVA_HOME djavajdkPATH d:javajdkbinpathCLASSPATH .djavajdkjrelibrt.jar4、javac、
java、appletviewerJavac :编译器读取
java 源代码,并将其编译成字节代码,如 javac .
java(为类名;
Java : 解析器可用来直接解释执行 jaca 字节代码,如
java ;Appletviewer:可以测试小应用程序 applet,读取包含小应用程序的 HTML 文件在一个窗口运行它们,读取命令行中的URL 所指定的 HTML 文件,如 appletviewer html。
5、Application、AppletApplication 应用程序是在计算机中单独运行,而 Applet小应用程序只能嵌入在 Html 网页中运行。
第 2 章数据类型及其运算1、标识符定义在
Java 中标识符是以字母、下划线(_)、美元符号 ()等其它货币符号如 开始的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符。
合法:Body,_test,¥hello非法:5Testhello/class标识符是大小写敏感的,没有最大长度的限制,不能和关键字相同2、关键字所有的关键字都是小写的,如果大写就不是关键字了,
java 中无 sizeof 关键字,所有基本数据类型的长度和表示是确定的, 不依赖执行环境,所以不需要此关键字。
3、三种注释 (1)单行注释://释内容 (2)多行注释:/注释文本 : : / (3)文档注释:/注释文本 Author / 4、变量及其分类 变量:类型、变量名、和值。
分类:局部变量、类成员变量(静态变量和实例变量 )、方法参数、异常处理参数 5、常量的定义 整形常量 234,实型常量 23.4,字符常量’a’,布尔常量 true 和 false,以及字符 ” 串常量“hello world! ,final int MAX_LOOP5 6、
Java 的数据类型分类 整数类型byteshortintlong 数值类型 浮点类型floatdouble 基本类型 字符类型char 布尔类型(boolean)数据类型 类class 引用类型 数组 7、变量的类型转换(赋值相容) 8、掌握一维数组与二维数组的创建方法 第 4 章
Java 面向对象程序设计基础1、对象、类、抽象、封装、继承、消息、多态概念的理解 答:对象——是存在的具体实体,具有明确定义的状态和行为。
类——是具有相同属性和行为的一组对象的集合。
抽象——是去除一个事物中对当前目的不重要的细节,保留对当前目的 具有决定意义的特征,形成数据抽象。
封装——把对象的属性和对这些属性的操作封装在一个单独的数据结构 中,并尽可能隐藏对象的内部细节 继承——是一种有已有的类创建新类得机制。
消息——是指请求对象执行某一处理或回答某些信息的要求。
多态——用相同的名字来定义不同的方法。
(普通类中的多态为重载,重 载是
java 实现多态性的方式之一)2、类包括两个部分:类声明和类体 答:类声明的格式如下: 修饰符 class 类名 extends 超类名 implements 接口名列表 ……可能的选项有:publicabstractfinal class 类名 extends 超类名implements 接口名列表…… public公共:public 修饰的类能被所有的类访问。
abstract抽象:abstract 修饰的类不能被实例化,它包含 有未实现的方法。
final最终:final 修饰的类不能被继承,即不能有子类。
注意: abstract 和 final 不能同时作为一个类的修饰符。
3、类的修饰符、成员变量的修饰符、成员方法的修饰符分别有哪些? 答:类的修饰符(3) :public(其修饰的类能被所有的类访问) abstract(其修饰的类不能被实例化, 它包含有未实现的方法) final(其修饰的类不能被继承,即不能 有子类) 注意:abstract 和 final 不能同时作为一 个类的修饰符。
成员变量的修饰符(8) :默认访问修饰符:其修饰的成员变量可以被同 一包中的任何类访问。
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(“876“); 以上三个步骤的简化形式:People zhanfeizhu new People( “876“);6、构造方法的作用是什么? 答:构造方法可以确保用户正确地构造类得对象,同时,构造方法也会对对象做初始化工作。
7、多态可分为重载与覆盖(重 写)两种形式。
什么是重载?什么是覆盖?两者的区别是什么? 答:方法重载:指一个类中可以有多个方法具有相同的名字,但这些方法的 参数必须不同,或者参数个数不同,或者参数的类型不同或 者是返回值不同 方法重写:当子类中定义了一个方法,并且这个方法的名字、返回类型、 参数个数以及类型与父类的某个方法完全相同时,父类的这 个方法将被隐藏,这种情况被称为重写了父类的方法。
区别:重写是继承后重新实现父类的方法,重载是在一个类里一系列参 数不同名字相同的方法。
8、理解和掌握成员变量及方法的访问权限 在
Java 中,可以选择四种访问方式:public、private、protected 和 default.如果将一个成员变量或成员方法定义为 public 类型,则在同一类、子类、同一包中的类、不同的包中的类均可以访问该成员变量或成员方法。
// Demopub1.javapackage p ub1public class Demopub1 // public 修饰是必需的。
//公共类型的成员变量 public int a //公共类型的成员方法 public void method System.out.println 如果声明一个成员变量或成员方法的访问类型为 protected,则该成员变量或成员方法只能够被该类内部、子类和相同包中的类访问.【例 4-11】不同包中公共类中 protected 修饰的方法的访问//Demopro3.Javapackage pro3public class Demopro3 //公共类型的成员变量 public int a//保护类型的成员方法 protected void method System.out.println 如果一个变量或成员声明为私有类型,则该变量或方法只能在同一类中被访问。
如例 4-12 所示【例 4-12】私有类型变量的访问// DemoPrivate.javapublic class DemoPrivate public int a // 公共类型的成员变量 private int b // 私有类型的成员变量 public int getA //公共类型的成员方法 return a private int getB //私有类型的成员方法 return b public DemoPrivateint aint b //构造方法 this.a a this.b b 9、final、this、super、null1 final 修饰成员变量如果一个成员变量前面有 final 修饰,那么这个成员变量就变成了常量,一经赋值,就不允许在程序的其他地方修改。
定义方式如下:final type variableName;例如class ConstTimeExpress final int MaxHour23 final int MaxMinute59 final int MaxSecond592 final 修饰方法 方法的 final 修饰符表明方法不能被子类覆盖。
带有 final 修饰符的方法称为最终方法。
Java 的方法除非被说明为最终方法,否则方法是可以被覆盖的。
Java之所以这样规定,主要是因为
Java 的纯面向对象特性,它把覆盖当作面象对象的重要特性,给予了最大限度的实现。
把方法声明为最终方法有时可增加代码的安全性。
使用方式如下。
final returnType methodNameparamList 例如: final int getLengthString s …… 3final 类 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 D emoint a this.a a 在
Java 语言规范中,null 表示类或者变量是空,不代表任何 对象或实例。
看下面的例子 SomeClass aSomeClassnull;上面的语句中,只定义了类 SomeClass 的实例 aSomeClass,但并没有为之创建任何对象。
第 5 章面向对象高级程序设计1、子类是如何把父类的状态和行为转变为自身的状态和行为的? 答:子类通过“成员变量的隐藏和方法的重写”可以把父类的状态和行为转变为自身的状态和行为。
(附加)例子:下面这段程序就是这样的情况 class SuperClass int y void setY y 0 Class SubClass extends SuperClass int y //在 SubClass 类里,父类的成员变量 y 被隐藏, 父类的方法被重写 void s etY y0 //于是子类对象所使用的成员变量 y 为子类中定义的 y,子类对象调 用的方法为子类中所实现的方法, 该重写方法和父类中被重写的方法具有相同的名字, 相同的参数, 相 同的返回类型2、super 的使用可分为哪 3 种情况?试结合程序说明。
答:(1)用来访问父类被隐藏的成员变量 2用来调用父类中被重写的方法 程序如下:class superClass Int y superclass y30 System.out.println“in superClass:y”y Void doPrint System.out.println“In superClass.doPrint” Class sub extends superClass Int y Sub super y50 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 s y uperClass : 30 ub:y50 in s In superClass.doPrint ub.doPrint in s ub.y50 super.y30 s (3)用来调用父类的构造方法 程序如下:class A public int n public A public Aint n this.n n int method return n public class B extends A public B super18 public static void mainString args A a new B int b a.method System.out.printlnquot类A中的成员变量:quotb 3、上转型对象的特点有哪些?试结合程序说明。
答:1.上转型对象不能操作子类新增的成员变量和子类新增的方法 2.上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承或重写的方法 3.如果子类重写了父类某个方法后,当对象的上转型对象调用这个方法时一定是调用了这个重写的 方法,因为在运行时知道,这个上转型对象的实体是子类创建的,只不过损失了一些功能而已 程序如下: class Mammal private int n 40 void crySpeakString s System.out.printlns Public class Monkey extends Mammal void computerint aaint bb int cc aabb System.out.printlncc void crySpeakString s System.out.println“”s“” Public static void mainString args Mammal mammal new Monkey Mammal.crySpeak“I love this game” Monkey monkey Monkeymammal Monkey.computer1010 运行结果如下: I l ve t is g o h ame 100 注意:在 main()方法里,如果出现下面的两行代码,那是错误的: mammal.n1000 //因为子类本来没有继承 n mammal.computer1010 //因为 computer 方法是子类新增的方法 4、什么是编译时多态?什么是运行时多态? 答:1)编译时多态性由方法重载实现的静态多态性 对于多个同名方法如果在编译时能够确定执行同名方法中的哪一个则称为编译时多态性. 2)运行时多态性由方法重写实现的动态多态性如果在编译时不能确定只能在运行时才能确定执行多个同名方法中的哪一个则称为运行时多态性(重写方法的调用原则如下:
java 运行时系统根据调用该方法的实例,来决定调用那个方法;对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未重写) ,则运行系统调用父类的方法)5、方法重写时应遵循的原则是什么? 答:1.改写后的方法不能比被重写的方法有更严格的访问权限 2.改写后的方法不能比重写的方法产生更多的异常6、抽象类和接口这两者的异同是什么?它们分别是如何定义的? 答:ava 语言中,用 abstract 关键字来修饰一个类时,这个类叫做抽象类。
一个 abstract 类只关心它的子类是否具有某种功能并不关心该功能的具体实现功能的具体行为由子类负责实现的。
例如: public abstract class Drawing public abstract void drawDotint x int y public void drawLineint x1 int y1int x2 int y2 ………… 用 abstract 来修饰一个方法时,该方法叫做抽象方法。
与 final 类和方法相反,abstract 类必须被继承,abstract 方法必须.
上一篇:
毕业设计论文-银行存取款模拟系统(含代码)
下一篇:
bc80e7a0-d1f2-4595-b21d-01a76798e87a