马士兵java自学笔记

上传人:第*** 文档编号:34064905 上传时间:2018-02-20 格式:DOC 页数:12 大小:979.50KB
返回 下载 相关 举报
马士兵java自学笔记_第1页
第1页 / 共12页
马士兵java自学笔记_第2页
第2页 / 共12页
马士兵java自学笔记_第3页
第3页 / 共12页
马士兵java自学笔记_第4页
第4页 / 共12页
马士兵java自学笔记_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《马士兵java自学笔记》由会员分享,可在线阅读,更多相关《马士兵java自学笔记(12页珍藏版)》请在金锄头文库上搜索。

1、一 Java 语言的特点:1. 一种面向对象的语言;2. 一种平台无关的语言,提供程序运行的解释环境;3. 一种健壮的语言,吸收了 C/C+语言的优点,但去掉了其影响程序健壮性的部分(如:指针,内存的申请与释放等)。Java 两种核心机制:Java 虚拟机、垃圾收集机制;一个 Java 源文件中最多只能有一个 public 类。其他类的个数不限,如果源文件包含一个public 类,它必须按该类名命名;Java 标识符命名规则:1. 标识符由字母、下划线“_” 、美元符“$”或数字组成;2. 标识符应以字母、下划线、美元符开头;3. Java 标识符大小写敏感,长度无限制。从本质上讲,变量其实是

2、内存中的一小块区域,使用变量名来访问这块区域,因此,每个变量使用前必须要先申请(声明 ),然后必须进行赋值(填充内容),才能使用。数据类型包括基本数据类型和引用数据类型:1. 基本数据类型:数值型:整数类型(byte,short,int,long) ,浮点类型(float,double)字符型(char)布尔型(boolean)2. 引用数据类型:类(class)接口(interface)数组Java 语言的整型常量默认为 int 型,声明 long 型常量可以后加 l或L 。Java 浮点型常量默认为 double 型,如要声明一个常量为 float 型,则需在数字后面加 f 或 F.Boo

3、lean 类型不可以转换为其他的数据类型。整型,字符型,浮点型的暑假在混合运算中相互转换,转换时遵循一下原则:1. 容量小的类型自动转换为容量大的暑假类型;数据类型按容量大小排序为:Byte,short,char-int-long-float-doubleByte,short,char 之间不会互相转换,他们三者在计算时首先会转换为 int 类型2. 容量大的暑假类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。3. 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。+(-):在前时先运算再取值;在后时

4、先取值再运算。当“=”两侧数据类型不一致时,可以使用默认类型转换或使用强制类型转换原则进行处理,可以将整型常量赋值给 byte,short,char 等类型变量,而不需要进行强制类型转载,只要不超出其表数范围。字符串连接符:1.“+”除用于算术加法运算外,还可用于对字符串进行连接操作;2.“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串,然后再进行连接;3.当进行打印时,无论任何类型,都自动转为字符串进行打印。Break 语句用于终止某个语句块的执行,用在循环语句体中,可以强行退出循环;Continue 语句用在循环语句体中,用于终止某次循

5、环过程,跳过循环体中 continue 语句下面未执行的循环,开始下一次循环过程;Java 中 switch 语句只能探测 int 类型值。Java 语言中使用下述形式调用方法:对象名.方法名( 实参列表)Java 中进行函数调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对对象的引用,而不是对象本身。类可以看成一类对象的模板,对象可以看成该类的一个具体实例。构造函数与类同名且没有返回值。构造函数是定义在 Java 类中的一个用来初始化对象的函数。创建对象时,使用构造函数初始化对象的成员变量。方法的重载:指一个类中可以定义有相同的名字,但参数不同的多个方法。调

6、用时,会根据不同的参数表选择对应的方法。this 关键字:1. 在类的方法定义中使用的 this 关键字代表使用该方法的对象的引用;2. 当必须指出当前使用方法的对象是谁时要使用 this;3. 有事使用 this 可以处理方法中成员变量和参数重名的情况;4. this 可以看作是一个变量,它的值是当前对象的引用。Static 关键字:1. 在类中,用 static 声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static 成员变量只有一份;2. 用 static 声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所有在 st

7、atic 方法中不可以访问非 static 的成员。静态方法不再是针对于某个对象调用,所以不能访问非静态成员。3. 可以通过对象引用或类名(不需要实例化)访问静态成员。Java 只支持单继承,不允许多继承:一个子类只能有一个基类,一个基类可以派生出多个子类来。对于 classd 的权限修饰只可以用 public 和 default。1. public 类可以在任意地方被访问;2. default 类只可以被同一个包内部的类访问。方法的重写:1. 在子类中可以根据需要对从基类中继承来的方法进行重写;2. 重写方法必须和被重写方法具有相同方法名称,参数列表和返回类型;3. 重写方法不能使用比被重写

8、方法更严格的访问权限。继承中的构造方法:1. 子类的构造的过程中必须调用其基类的构造方法;2. 子类可以在自己的构造方法中使用 super(argument_list)调用基类的构造方法;使用 this(argument_list)调用本类的另外的构造方法;如果调用 super,必须写在子类构造方法的第一行;3. 如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参数的构造方法。4. 如果子类的构造方法中既没有显式调用基类构造方法,而基类中又又没有无参的构造方法,则编译出错。Object 类是所有 Java 类的根基类;Object 类中定义有 public String t

9、oString()方法,其返回值是 String 类型,描述当前对象的有关信息;在进行 String 与其他类型数据的连接操作时,将自动调用该对象类的 toString()方法;Object 类中定义有 public String equals(Object obj)方法,提供定义对象是否“相等”的逻辑,Object 的 equals 方法定义为:x.equals(y)当 x 和 y 是同一个对象的应用时返回 true 否则返回 false;对象转型(casting):1. 一个基类的引用类型变量可以“指向”其子类的对象;2. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法) ;3

10、. 可以使用引用变量 instanceof 类名来判断该引用类型所“指向”的对象是否属于该类或该类的子类;4. 子类的对象可以当作基类的对象来使用称作向上转型(upcasting) ,反之成为向下转型(downcasting) .多态:1. 要有继承;2. 要有重写;3. 父类引用指向子类对象。抽象类:1. 用 abstract 关键字来修饰一个类时,这个类叫做抽象类;用 abstract 来修饰一个方法时,该方法叫做抽象方法;2. 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写;3. 抽象类不能被实例化;4. 抽象方法只需声明,而不需实现。final 关键字:1.

11、final 的变量的值不能够被改变;2. final 的方法不能够被重写;3. final 的类不能够被继承。接口:1. 接口(interface) 是抽象方法和常量值的定义的集合;2. 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现;3. 接口特性:(1) 多个无关的类可以实现同一个接口;(2) 一个类可以实现多个无关的接口;(3) 与继承关系相似,接口与实现类之间存在多态性;(4) 接口声明属性默认为 public static final 的;也只能是 public static final 的;(5) 接口中只能定义抽象方法,而且这些方法

12、默认为 public 的,也只能是 public 的;(6) 接口可以继承其他的接口,病添加新的属性和抽象方法。异常:1. Java 程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给 Java 运行时系统,这个过程成为 抛出(throw )异常;2. 当 Java 运行时系统接受到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程成为捕获(catch)异常。3. try 代码段包含可能产生例外的代码;try 代码段后跟有一个或多个 catch 代码段;每个catch 代码段声明其能处理的一种特定类型的异常并提供处理的方法

13、;当异常发生时,程序会终止当前的流程,根据获取异常的类型去执行相应的 catch 代码段;finally 段的代码无论是否发生异常都有执行;4. 异常的分类:(1) Error:成为错误,有 Java 虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理;(2) Exception:所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获;(3) Runtime Exception:一类特殊的异常,如被 0 除,数组下标超范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序的可读性和运行效率影响很大。因此有系统自动检测并将它们交给缺省的异

14、常处理程序(用户可不必对其处理) 。5. try 语句:(1) try语句指定了一段代码,该段代码就是一次捕获并处理例外的范围;(2) 在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的 catch 语句要分别对这些异常做相应的处理;(3) 如果没有例外产生,所有的 catch 代码段都被略过不执行。6. catch 语句:(1) 在 catch 语句块中是对异常进行处理的代码,每个 try 语句块可以伴随一个或多个 catch 语句,用于处理可能产生的不同类型的异常对象;(2) 在 catch 中声明的异常对象( catch(SomeException e) )封装了异

15、常事件发生的信息,在 catch 语句块中可以使用这个对象的一些方法获取这些信息,如:a) getMessage()方法,用来得到有关异常事件的信息;b) printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容。7. finally 语句:(1) finally 语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其它部分以前,能够对程序的状态作统一的管理;(2) 无论 try 所指定的程序块中是否抛出例外,finally 所指定的代码都要被执行;(3) 通常在 finally 语句中可以进行资源的清楚工作如:关闭打开的文件,删除临时文件8. 自定义异常的使用步骤:

16、(1) 通过继承 java.lang.Exception 类声明自己的异常类;(2) 在方法适当的位置生成自定义异常的实例,并用 throw 语句抛出;(3) 在方法的声明部分用 throws 语句声明该方法可能抛出的异常。重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常!数组:1. 数组可以看成是多个相同类型数据组合,对这些数据的统一管理;2. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量;3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型;4. Java 语言中声明数组时不能指定其长度(数组中元素的个数) ;5. Java 中使用关键字 new 创建数组对象,格式为:数组名 = new 数组元素的类型 数组元素的个数 6. 元素为引用数据类型的数组中的每一个元素都需要实例化;7. 数组的初始化:(1) 动态初始化:数组定义与为数组元素分配空间和赋值的操作分开进行;(2) 静态初始化:在定义数组的同时就为数组元素分配空间并赋值;(3) 数组元素的默认初

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

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号