马士兵java自学笔记 - 图文

发布时间 : 星期日 文章马士兵java自学笔记 - 图文更新完毕开始阅读

一Java语言的特点:

1. 一种面向对象的语言;

2. 一种平台无关的语言,提供程序运行的解释环境;

3. 一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如:指

针,内存的申请与释放等)。

Java两种核心机制:Java虚拟机、垃圾收集机制;

一个Java源文件中最多只能有一个public类。其他类的个数不限,如果源文件包含一个public类,它必须按该类名命名;

Java标识符命名规则:

1. 标识符由字母、下划线“_”、美元符“$”或数字组成; 2. 标识符应以字母、下划线、美元符开头; 3. Java标识符大小写敏感,长度无限制。

从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。

数据类型包括基本数据类型和引用数据类型:

1. 基本数据类型:数值型:整数类型(byte,short,int,long),浮点类型(float,double) 字符型(char) 布尔型(boolean) 2. 引用数据类型:类(class)

接口(interface) 数组

Java语言的整型常量默认为int型,声明long型常量可以后加‘l’或‘L’。

Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F.

Boolean类型不可以转换为其他的数据类型。

整型,字符型,浮点型的暑假在混合运算中相互转换,转换时遵循一下原则:

1. 容量小的类型自动转换为容量大的暑假类型;数据类型按容量大小排序为:

Byte,short,char->int->long->float->double

Byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型

2. 容量大的暑假类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精

度降低或溢出;使用时要格外注意。 3. 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一

种数据类型,然后再进行计算。

++(--):在前时先运算再取值;在后时先取值再运算。

当“=”两侧数据类型不一致时,可以使用默认类型转换或使用强制类型转换原则进行处理,可以将整型常量赋值给byte,short,char等类型变量,而不需要进行强制类型转载,只要不超

出其表数范围。

字符串连接符:

1.“+”除用于算术加法运算外,还可用于对字符串进行连接操作;

2.“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串,然后再进行连接;

3.当进行打印时,无论任何类型,都自动转为字符串进行打印。

Break语句用于终止某个语句块的执行,用在循环语句体中,可以强行退出循环;

Continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,开始下一次循环过程;

Java中switch语句只能探测int类型值。

Java语言中使用下述形式调用方法:对象名.方法名(实参列表)

Java中进行函数调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对对象的引用,而不是对象本身。

类可以看成一类对象的模板,对象可以看成该类的一个具体实例。

构造函数与类同名且没有返回值。构造函数是定义在Java类中的一个用来初始化对象的函数。创建对象时,使用构造函数初始化对象的成员变量。

方法的重载:指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。

this关键字:

1. 在类的方法定义中使用的this关键字代表使用该方法的对象的引用; 2. 当必须指出当前使用方法的对象是谁时要使用this;

3. 有事使用this可以处理方法中成员变量和参数重名的情况; 4. this可以看作是一个变量,它的值是当前对象的引用。

Static关键字:

1. 在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使

用时被初始化,对于该类的所有对象来说,static成员变量只有一份;

2. 用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所有

在static方法中不可以访问非static的成员。静态方法不再是针对于某个对象调用,所以不能访问非静态成员。

3. 可以通过对象引用或类名(不需要实例化)访问静态成员。

Java只支持单继承,不允许多继承:一个子类只能有一个基类,一个基类可以派生出多个子类来。

对于classd 的权限修饰只可以用public和default。 1. public类可以在任意地方被访问;

2. default类只可以被同一个包内部的类访问。

方法的重写:

1. 在子类中可以根据需要对从基类中继承来的方法进行重写;

2. 重写方法必须和被重写方法具有相同方法名称,参数列表和返回类型; 3. 重写方法不能使用比被重写方法更严格的访问权限。

继承中的构造方法:

1. 子类的构造的过程中必须调用其基类的构造方法;

2. 子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法;

使用this(argument_list)调用本类的另外的构造方法; 如果调用super,必须写在子类构造方法的第一行;

3. 如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参数的构

造方法。

4. 如果子类的构造方法中既没有显式调用基类构造方法,而基类中又又没有无参的构造方

法,则编译出错。

Object类是所有Java类的根基类;

Object类中定义有public String toString()方法,其返回值是String类型,描述当前对象的有关信息;在进行String与其他类型数据的连接操作时,将自动调用该对象类的toString()方法;Object类中定义有public String equals(Object obj)方法,提供定义对象是否“相等”的逻辑,Object的equals方法定义为:x.equals(y)当x和y是同一个对象的应用时返回true否则返回false;

对象转型(casting):

1. 一个基类的引用类型变量可以“指向”其子类的对象;

2. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法);

3. 可以使用引用变量instanceof类名来判断该引用类型所“指向”的对象是否属于该类或

该类的子类;

4. 子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之成为向下转型

(downcasting).

多态:

1. 要有继承; 2. 要有重写;

3. 父类引用指向子类对象。

抽象类:

1. 用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,

该方法叫做抽象方法;

2. 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写; 3. 抽象类不能被实例化;

4. 抽象方法只需声明,而不需实现。

final关键字:

1. final的变量的值不能够被改变; 2. final的方法不能够被重写; 3. final的类不能够被继承。

接口:

1. 接口(interface)是抽象方法和常量值的定义的集合;

2. 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没

有变量和方法的实现; 3. 接口特性:

(1) 多个无关的类可以实现同一个接口; (2) 一个类可以实现多个无关的接口;

(3) 与继承关系相似,接口与实现类之间存在多态性;

(4) 接口声明属性默认为public static final的;也只能是public static final的;

(5) 接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的; (6) 接口可以继承其他的接口,病添加新的属性和抽象方法。

异常:

1. Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了

异常事件的信息并将被提交给Java运行时系统,这个过程成为抛出(throw)异常; 2. 当Java运行时系统接受到异常对象时,会寻找能处理这一异常的代码并把当前异常对象

交给其处理,这一过程成为捕获(catch)异常。

3. try代码段包含可能产生例外的代码;try代码段后跟有一个或多个catch代码段;每个

catch代码段声明其能处理的一种特定类型的异常并提供处理的方法;当异常发生时,程序会终止当前的流程,根据获取异常的类型去执行相应的catch代码段;finally段的代码无论是否发生异常都有执行; 4. 异常的分类:

(1) Error:成为错误,有Java虚拟机生成并抛出,包括动态链接失败,虚拟机错误

等,程序对其不做处理;

(2) Exception:所有异常类的父类,其子类对应了各种各样可能出现的异常事件,

一般需要用户显式的声明或捕获;

(3) Runtime Exception:一类特殊的异常,如被0除,数组下标超范围等,其产生

联系合同范文客服:xxxxx#qq.com(#替换为@)