一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.要有继承;
java在哪里可以免费自学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)异常。
<代码段包含可能产生例外的代码;try代码段后跟有一个或多个catch代码段;每个
catch代码段声明其能处理的一种特定类型的异常并提供处理的方法;当异常发生时,程序会终止当前的流程,根据获取异常的类型去执行相应的catch代码段;finally段的代码无论是否发生异常都有执行;
4.异常的分类:
(1)Error:成为错误,有Java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理;
(2)Exception:所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获;
(3)Runtime Exception:一类特殊的异常,如被0除,数组下标超范围等,其产生
比较频繁,处理麻烦,如果显式的声明或捕获将会对程序的可读性和运行效率
影响很大。因此有系统自动检测并将它们交给缺省的异常处理程序(用户可不
必对其处理)。
<语句:
(1)try{…}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围;
(2)在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应的处理;
(3)如果没有例外产生,所有的catch代码段都被略过不执行。
6.catch语句:
(1)在catch语句块中是对异常进行处理的代码,每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的异常对象;
(2)在catch中声明的异常对象(catch(SomeException e))封装了异常事件发生的信息,在catch语句块中可以使用这个对象的一些方法获取这些信息,如:a)getMessage()方法,用来得到有关异常事件的信息;
b)printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容。
7.finally语句:
(1)finally语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其它部分以前,能够对程序的状态作统一的管理;
(2)无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行;
(3)通常在finally语句中可以进行资源的清楚工作如:关闭打开的文件,删除临时文件…
8.自定义异常的使用步骤:
(1)通过继承java.lang.Exception类声明自己的异常类;
(2)在方法适当的位置生成自定义异常的实例,并用throw语句抛出;
(3)在方法的声明部分用throws语句声明该方法可能抛出的异常。
重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常!
数组:
1.数组可以看成是多个相同类型数据组合,对这些数据的统一管理;
2.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员
变量;
3.数组中的元素可以是任何数据类型,包括基本类型和引用类型;
4.Java语言中声明数组时不能指定其长度(数组中元素的个数);
5.Java中使用关键字new创建数组对象,格式为:
数组名=new数组元素的类型[数组元素的个数]
6.元素为引用数据类型的数组中的每一个元素都需要实例化;
7.数组的初始化:
(1)动态初始化:数组定义与为数组元素分配空间和赋值的操作分开进行;
(2)静态初始化:在定义数组的同时就为数组元素分配空间并赋值;
(3)数组元素的默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数
组分配空间后,每个元素也被按照成员变量的规则被隐式初始化;
8.数组元素的引用:
(1)定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
(2)每个数组都有一个属性length指明它的长度,如a.length的值为数组a的

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。