1 / 23
文档名称:

JAVA基础总结.doc

格式:doc   大小:73KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JAVA基础总结.doc

上传人:miaoshen1985 2018/9/12 文件大小:73 KB

下载得到文件列表

JAVA基础总结.doc

相关文档

文档介绍

文档介绍:基础知识回顾
今日任务
面向对象回顾
常用API回顾
集合回顾
IO回顾
泛型技术
反射技术
debug调试程序
junit测试
1、面向对象回顾
、面向对象思想和对象创建流程
、面向对象的思想:
Java是面向对象的语言,在Java中把生活中的所有事物都使用对象来描述和封装。生活中的事物都有自己的特点(属性、行为(功能))。
把每个事物的具体的属性和行为(功能)用Java中的变量和方法描述。而生活中的这个事物就是Java中的类来描述,这样就把生活中的事物和Java中的类对接起来。我们就可以用Java这门计算机语言来描述我们身边的所有事物。
要描述生活中的某个事物:
我们首先要想象生活具体一个存在的实例(个体),然后把这个具体的个体的一些特点进行抽象(概括)的描述。
描述人:
人的特点:
属性:
年龄
性别
姓名
行为:
睡觉
学****br/>把用文件体现的生活中的事物用Java中的类来封装:
class Person
{
//描述人的属性
int age;
String sex;
String name;
//描述人的行为
public void sleep(){
}
public void eat(){
}
}
当把生活中的事物用类封装完成之后,最终我们的目的在java中来使用当前封装的这个类。要使用某个类,这时就必须使用Java中的new关键字来创建当前这个类在java中的一个具体的实例(个体)。这样就可以通过这个具体的个体来调用封装的属性和行为。
、对象的创建流程:
类加载过程:
当在程序中使用到某个类的时候,这时JVM会先到内存中找有没有当前这个class文件,如果没有这时会到相应的路径下面去查找对应的class文件,然后把这个class文件加载内存中。
加载的过程中,会把所有非静态的成员(变量、方法、构造方法、构造代码)会加载到方法区中的非静态区中。而类中的所有静态成员(变量、方法、静态代码块)会被加载到方法区中的静态区中。
所有的静态加载完成之后,开始对类中的静态成员变量进行默认初始化,当所有的静态成员变量默认初始化完成之后,开始对所有的静态成员变量进行显示初始化,显示初始化完成之后,执行类中的静态代码块。当所有的静态代码块执行完成之后,类加载完成。
对象的创建过程:
使用new关键字开始创建对象,这时需要先在堆内存中分配对象所属的内存空间,给类中的所有非静态的成员(非静态成员变量会在创建对象的时候随着对象的创建在堆中出现)默认初始化,开始执行与之对应的构造方法,在构造方法中有隐式的三步(1、super() 2、成员变量显示初始化 3、构造代码块执行)并且要把这三步执行完成之后,才能执行构造方法中的代码。
隐式三步解释:
super() 找当前类的父类,要执行父类的构造方法,然后对继承到的父类中的内容进行初始化动作。
成员变量显示初始化在定义类的时候,我们可能在非静态的成员变量上有显示的赋值语句,这时就在这里把显示的数据赋值给当前成员变量
构造代码块运行执行本类中的构造代码块
、类中常用的关键字:
封装的概念:把不需要外界直接访问的内容私有起来,给外界提供间接的访问方式。
类中的成员变量不需要外界直接操作,全部私有起来,就需要使用private关键字。
private:只能修饰类中的成员(变量和方法)。
当使用了私有关键字把类中的成员私有了,那么在本类以外的地方是没有权限来访问的。当把类中的成员变量私有,外界需要获取或者设置成员变量的数据时,
这时需要对外提供get或者set方法。
class Person{
private int age;
public void setAge( int age ){
= age;
}
public int getAge(){
return ;
}
}
、static:
当类中某个成员变量值是所有对象共享的数据,这时就可以把这个成员变量静态起来,被静态修饰后,它会在类加载的时候存储在方法区的静态区中,后面创建的所有对象都来共享当前这个静态变量。
当类中的某个成员方法不需要对象来调用,它就可以执行运行时,这时这个方法也可以使用静态的来修饰。在JDK中提供的所有工具类,它们中方法都是静态的,静态方法的本质原因是这个方法没有访问到本类对象中的特有数据。
静态的细节:静态不能调用非静态。
非静态可以调用静态。
、this:
当某个方法运行的时候,这个方法如果是非静态的方法,那么就需要对象来调用,在方法中有个隐式的关键字this来记录当前调用这个方法的那个对象。