1、Java语言自主学习手册答案Java语言自主学习手册答案(上)ppt_7:Java类库APIJava API是SUN提供的用Java语言开发的类集合。 ppt_12:Java与C+比较语言JavaC+直译式语言是编译式语言编译后产生机器码产生近似于机器码字节码是跨平台是根据平台作改变运行速度较慢快具有指针类型使用对象实例替代指针是继承单继承多继承ppt_17:Java虚拟机 Java编译器针对Java虚拟机产生class文件,因此是独立于平台的 Java解释器负责将Java虚拟机的代码在特定的平台上运行ppt_31:主方法Java Application程序的入口是main()方法ppt_32
2、:源文件 Java程序的源文件扩展名必须是“.java” Java程序的源文件名必须与main()方法所在类名相同 Java源文件中可以包含多个类程序内容 由方法体实现程序要完成的功能,方法的实现由一个个语句组成 语句以“;”作为结束标志 严格区分大小写ppt_33:命名 如果.java 文件包含一个public 类,它必需按该类名命名 如果一个类中含有main()方法,它必需按该类名命名 文件名、类名严格区分大小写类个数一个源文件中允许有多个类,但只能有一个public 类其它类的个数不限ppt_37:Java Applet Applet就是使用Java语言编写的一段代码,它可以在浏览器环境
3、中运行 Applet类存于java.applet包中,是java.awt.Panel 的子类。它与Application的区别主要在于其执行方式的不同 Application是从其中的main()方法开始运行的 Applet是在浏览器中运行的,必须创建一个HTML文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行ppt_39:Java Applet code:包含applet字节码的文件名 height:执行时在屏幕上打开的高度 width:执行时在屏幕上打开的宽度 ppt_47:逻辑型 boolean类型适于逻辑(布尔型)运算,一般用于程序流程控制 boolean类型数
4、据只允许取值true或false,不可以0或非0的整数替代true和falseppt_48:字符型 char型数据用来表示通常意义上“字符” 字符常量是用单引号括起来的单个字符 Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示 Java语言中还允许使用转义字符来将其后的字符转变为其它的含义ppt_53:直接量与常量 直接量:在程序中直接给出的一个符号串,作用是为变量赋值或参与表达式运算 常量:用final说明的一个标识符ppt_55:Java引用类型 Java语言中除8种基本数据类型以外的数据类型称为引用类型 引用类型数据以对象的形式存在 引用类型变量的值是
5、某个对象的句柄(存储地址),而不是对象本身 声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象 ppt_57:对象的构造和初始化1.为引用类型变量分配引用空间 MyDate m; mppt_58:对象的构造和初始化2.创建新对象 为新对象分配内存空间 进行属性(实例变量)的默认初始化 ppt_59:分配内存:new MyDate(1, 8, 2003);默认初始化:显式初始化:ppt_61: 3.调用所属类的构造方法new Mydate(1, 8, 2003);ppt_62:4.为引用类型变量m赋值ppt_63:常量 常量一经建立在程序运行的整个过程中都不会改变 Java中
6、常用的常量有布尔常量、整型常量、字符常量、字符串常量和浮点常量 字符常量用单引号引起来表示单个字符 字符串常量用双引号引起来表示一串字符ppt_66:Java变量变量用于记录数值可变的数据按所属的数据类型划分 基本数据类型变量 引用数据类型变量按被声明的位置划分 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量ppt_69:成员变量声明和初始化 成员变量在类的定义中声明 在创建对象的同时创建有关的成员变量 成员变量创建后系统自动对其进行 默认初始化 显式初始化ppt_70:变量作用域 局部变量的作用域就是它所在的方法或语句块 在程序调用方法(进入语句块)时,局部变量
7、才被创建并可用,随方法(语句块)的退出,局部变量将被销毁 成员变量依附于对象(局部变量)存在,具有与对象相同的生存期和作用域 ppt_74:关键字 所有Java关键字都是小写的 ppt_90:强制类型转换对强制类型转换的限制:整型与浮点型可以相互转换,但基本类型和数组、对象等复合类型之间不能互相转换ppt_99:数组元素的默认初始化数组是引用类型,它的元素相当于类的成员变量ppt_100:数组元素的引用 数组元素下标从0开始 长度为n的数组合法下标取值范围: 0 n-1ppt_153:类的概念 类是现实世界中实体的抽象集合,是封装了数据和其上操作的复杂的抽象数据类型,类具有完整的功能和相对的独
8、立性,可以包含丰富的内涵、更好的安全性和更大的功能 定义类的过程就是定义类的属性和服务的过程 类包括对象生命周期中的要用到的所有代码,构造方法、变量的声明、方法的声明等 类中直接声明的变量(属性)称为成员变量,方法称为成员方法ppt_160:对象生命周期 创建对象 使用对象 清除不用的对象ppt_161:创建对象创建对象的三个步骤 声明 实例化 初始化ppt_162:对象的回收 Java运行环境当确定某个对象不再被使用时,将其删除一个对象在没有引用指向它时,可作为垃圾收集 Java运行环境中的垃圾搜集器周期性地释放不用对象占用的空间ppt_164: 类的方法 称为成员方法,用来规定类属性上的操
9、作,实现类内部功能机制,是类与外界进行交互的窗口ppt_165:关键字static static称为静态修饰符 在Java类中声明属性、方法和内部类时,可使用关键字static做为修饰符 static标记的属性或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加.调用ppt_166:类属性 类属性是类的属性,不属于任何一个类的具体对象,即对于该类的任何一个具体对象而言,类属性是一个公共存储单元,任何一个对象访问或修改它,都针对同一存储单元 类属性由该类的所有实例共享ppt_168:类属性 类属性在加载该类时,只分配一次空间,并初始化ppt_169:类属性 类变量
10、可用来在实例之间进行通信或跟踪该类实例的数目ppt_170:类属性 类属性可以是public 或private 对于public 类型的类属性,可以在类外直接用类名调用而不需要初始化ppt_172:类方法 在方法前加入static标识符,即为类方法 类方法是属于整个类的方法 类方法可以在不产生对象的情况下直接以类名来调用 非static 的方法是属于某个对象的方法,在这个对象创建时对象的方法在内存中拥有自己专用的代码段 static 方法只能处理static 的成员属性ppt_174:类方法在类方法内部不能对实例变量和实例方法进行访问ppt_175:类方法 在类方法内部不能使用this关键字
11、this表示调用该方法的对象,而类方法不需要利用对象进行调用ppt_177:静态初始化器 由关键字static引导的语句块(语句组) 存在类的定义体中、方法的外部ppt_179:静态初始化器与构造方法 构造方法是对每个新创建的对象初始化,静态初始化器对每个类初始化 构造方法在new运算符产生新对象时由系统自动执行,静态初始化器所属类加载内存时由系统调用运行 静态初始化器不是方法ppt_182:关键字abstract abstract 是抽象修饰符 加入abstract的类称为抽象类 加入abstract的方法称为抽象方法ppt_183:抽象类 含有抽象方法的类必须被声明为抽象类,并在类定义关键
12、字class前加入abstract修饰符 抽象类必须被继承 抽象方法必须被重写 抽象类不能被实例化,一般可利用其子类的实例进行实例化。ppt_184:抽象类 抽象类的实例变量可以指向具体的一个子类的实例ppt_185:抽象方法 一个方法只有声明部分而没有方法的实现,该方法叫做抽象方法 抽象方法必须用abstract来修饰 抽象方法必须以分号“;”作为结束标志ppt_187:关键字final final是最终修饰符 final可以修饰类、属性和方法 final修饰的类称为最终类 final修饰的方法称为最终方法 final标记的变量(成员变量或局部变量)即称为常量 final标记的类不能被继承
13、final标记的方法不能被子类重写ppt_188:关键字final final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才使用 常量只能赋值一次,一般大写 被定义成final的类不能有子类ppt_190:终结器 在面向对象程序设计中,对象与单纯的变量一样,有其产生和消亡的过程,当一个对象不再有用时应该回收它(释放其所占用内存空间及其他资源) 终结器是回收对象时执行的方法ppt_202:类的继承 Object类是所有Java类的最高层父类 Java只支持单继承,不允许多重继承 一个子类只能有一个父类 一个父类可以继承出多个子类 一个类实现了多个接口,达到多继承效果ppt_20
14、3:类的继承 子类中只需声明特有的东西 带private 修饰符的属性、方法是不能被继承的,子类从父类继承所有非私有域 (非 private)的属性和方法作为自己的成员 构造方法不能被继承ppt_204:类的继承 在方法中调用构造方法用this() 调用父类的构造方法用super() Java中任何一个子类的实例都可作为父类的实例使用,可调用父类具有的方法ppt_205:关键字this this代表其所在方法的当前对象 构造方法中指该方法所创建的新对象 普通方法中指调用该方法的对象 “this.属性”和“this.方法”表示调用当前对象所属类的属性和方法 “this()”表示调用当前对象所属类
15、的构造方法ppt_212:属性的继承 子类可以继承父类非私有的所有属性,而父类非私有的所有属性是所有子类都拥有的属性的集合ppt_213:属性的隐藏 属性的隐藏:子类重新定义一个与从父类那里继承的属性变量完全相同的变量ppt_214:属性的隐藏 当子类执行继承自父类的方法时,处理来自父类的变量 当子类执行自己定义的方法时,处理自己定义的变量ppt_217:方法的重写(覆盖) 概念:在子类中可以根据需要对从父类中继承来的方法进行改造ppt_218:方法的重写(覆盖) 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型 重写方法不能使用比被重写方法更严格的访问权限,即方法的访问权限不
16、能缩小ppt_223:方法的重载 参数列表必须不同,以此区分不同方法体 返回类型、修饰符可相同或不相同ppt_224:指代关键字 null:代表“空”,定义一个对象且尚未开辟内存单元时,这个对象为null this:用来指代当前对象 super:用来指代父类对象ppt_225:this关键字 this表示的是当前对象本身,即this代表了当前对象的一个引用 利用这个引用可以访问对象、修改对象的属性、调用对象的方法ppt_227:super 关键字 super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用 super可用于访问父类中定义的属性 super可用于调用父类中定义的成员
17、方法 super可用于在子类构造方法中调用父类的构造方法 super的追溯不仅于直接父类ppt_232:构造方法 构造方法重载,参数列表必须不同ppt_233:构造方法重载 可以在构造方法的第一行使用this关键字调用其它(重载)的构造方法ppt_243:调用父类构造方法 在子类的构造方法中可使用super(参数列表) 语句调用父类的构造方法 如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法 如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错ppt_244:构造方法的继承 子类继
18、承父类所有的成员变量和成员方法,但不继承父类有参数的构造方法ppt_245:构造方法的继承 如果子类没有自定义构造方法,则继承父类的无参数构造方法 如果子类自定义了构造方法,创建新对象时,先执行继承自父类的无参数构造方法,再执行自定义构造方法 对于父类中有参数的构造方法,子类可以在自己的构造方法中利用super 调用,super必须是构造方法的第一个可执行语句 ppt_251:多态性 在Java中,子类的对象可以替代父类的对象使用 一个对象只能有一种确定的数据类型 一个引用类型变量可能指向(引用)多种不同类型的对象 ppt_253:多态性 一个引用类型变量如果声明为父类的类型,但实际引用的是子
19、类对象,那么该变量就不能再访问子类中添加的属性和方法ppt_254:多态性 方法声明的参数类型为父类类型,可以使用子类的对象作为实参调用该方法 ppt_258:接口 定义:把用于完成特定功能的若干属性组织成相对独立的属性集合,凡是需要实现这种特定功能的类,都可以继承这个属性集合并在类内使用它,这种属性集合就是接口 接口是抽象方法和常量值的定义的集合ppt_259: 接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现 一个接口中所有成员方法都是抽象的,所有成员变量都被定义为 public static final 接口不属于类层次结构。不相关的类可以实现相同的接口
20、 多个无关的类可以实现同一个接口 一个类可以实现多个无关的接口 接口与实现类之间存在多态性ppt_263:接口 可以通过实现接口实现多重继承:一个类可只继承一个父类,并实现多个接口ppt_266:接口用法总结 通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系 通过接口可以指明多个类需要实现的方法 通过接口可以了解对象的交互界面,而不需了解对象所对应的类ppt_267:包 包(package)是相关类与接口的一个集合,它提供访问控制与命名空间管理包机制的好处 程序员容易确定包中的类是相关的 程序员容易根据所需的功能找到相应的类 每个包都创建一个新的命名空间,因此不同包中的类名
21、不会冲突 同一个包中的类之间有比较宽松的访问控制ppt_268:创建包 包定义语句在每个源程序中只能有一条, 即一个类只能属于一个包 包定义语句必须在程序的第一行(之前可有空格及注释) 包名用“.” 分隔ppt_269:创建包 在缺省情况下,系统会为.java源文件创建一个无名包,该.java源文件中定义的所有类都隶属于这个无名包,它们之间可以相互引用,但不能被其它包所引用ppt_270:包的引用 对于同一包中的其它类,只需在要使用的属性和方法名前加上类名作为前缀即可 对于其它包中的类,则需要在类名前加上包名前缀,这种引用称为长名引用 只有 public 类型的成员才能被包外的类访问,访问要通
22、过以下方法:ppt_273:编程中的错误 错误分为编译错误和运行错误ppt_276:异常和异常类Java中定义了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容ppt_280:异常的类型 异常总是 java.lang 包中的标准类Throwable的一些子类对象 所有标准异常都由Throwable类的两个直接子类涵盖,分别为Error和Exception类ppt_284:违例(Exception类) 要么在该方法中处理异常 要么记录下方法可能产生的异常,并抛出这种异常ppt_287:异常处理 这种异常对象有相关的数据成员存储着故障的情况,一般称抛出(
23、throw)异常,也就是抛出包含异常情况的对象 该异常对象可以作为参数,传递给专门为处理相关问题而编写的程序代码,接收异常对象作为形式参数的代码称为捕获(catch)了异常 如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出 ppt_305:声明抛出违例 一个方法中的语句在执行时,可能生成某种违例,但是并不能确定如何处理这种违例,则此方法应声明抛出违例 表明该方法将不对这些违例进行处理,而由该方法的调用者负责处理ppt_307:抛出违例 首先要生成异常对象,然后通过throw语句实现抛出操作(提交给Java运行环境) 可以抛弃的例外必须是Throwable或其子类的实例 如果一个例外在返回到main()时还未被处理,则程序将非正常终止
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1