一、面向对象概述的理解
这一部分,都是文字概念性的东西,但深入了解了其编程中的含义和用法,才是熟练编程的入门和前提。
1.三大特征:封装、继承、多态。
2.类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例。
3.堆内存和栈内存。对象的产生:new关键字跟上类的名称()如:Person p=new Person()。 堆内存中创建一个实例对象,其中的成员变量被初始化。
4.对象的比较。
“==”对象的值;“equals”比较引用变量对象的内容.
二、匿名对象。
不定义对象的句柄,而直接调用这个对象的方法。 如:new Person().shout();
a.当对象方法只调用一次,就可以使用匿名对象表示来简化;
b.可以将匿名对象作为实际参数进行传递。
三、封装
定义:定义一个类的成员(包括变量和方法)时,使用private关键字说明这个成员的访问权限,这个成员成了类的私有成员,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用。
四、构造函数
1)构造方法的特征:
a.与类相同的名称;b.不含返回值;c.不能用return语句返回一个值。
2)构造函数对成员变量进行了初始化,各方法都调用构造函数,一次完成对类的实例中变量的初始化。
3) a.没有定义构造函数时,系统默认定义一个空白的构造函数;
b.已经定义构造函数,则不使用默认的构造函数。
4)构造代码块:
一对大括号,形如:{System.out.println"内容"}//给对象进行初始化,对象建立就运行,而且优于构造函数运行。
5)可接受重载。产生对象的格式是:new 类名(参数列表)。
五、this
1)this代表本类中的对象,代表它所在函数所属对象的引用。即哪个函数在调用this所在函数,this就代表哪个对象。
2)当局部变量与成员变量重名时,this指成员变量。
3)this语句必须在构造函数的第一行。
4)this关键字在构造函数间调用:this(属性)。如张老师的案例中,this(),调用空白构造方法;this(name),调用name。
六、垃圾回收过程分析
1)finalize()方法。如:public void finalize(){}
2)System.gz() //gc,指垃圾回收器。
七、static静态方法
1)static是修饰符,用于修饰成员(成员变量、成员函数)
2)当成员被静态修饰后,就多了一个调用函数,除了可以被对象调用外,还可以被类名调用,类名.静态成员
3)static 特点:
a.存在于方法区中,随类的加载而加载;b.优先于对象存在;c.被 所有对象所共享;d.可以直接被类名调用。
4)a.当对象中出现共享数据时,该数据要被静态所修饰,定义静态变量;对象中的特有数据要定义成非静态存在于堆内存中。
b.当功能内部没有访问到非静态数据时,那么该功能可以定义成静态函数。
八、静态代码块:
形如: static{}
它不包含在任何方法体中,当类被加载即被执行,进行类属性的初始化。在类第一次使用时装载,不在程序启动方式装载。
九、单态设计模式
如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造方法的访问权限设置为private,这样,就不能用new 操作符 在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以 返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。
代码体现:1.将构造函数私有化;2.在类中创建一个本类对象;3.提供一个方法可以获取到该对象。
十、理解mian函数各部分含义
public:指该函数访问权限最大;
static:指主函数随着类的加载就已经存在了;
void :指主函数没有具体的返回值;
String[] args:函数的参数,参数类型是一个数组,该数组中的元素是字符串;
十一、内部类
内部类可以访问外部类的成员,包括private成员,而内部类的成员不能被嵌套它的外部类直接访问。
若用static修饰内部类,此类就相当于一个外部类。
十二、使用Java的文档注释
1) /** ...... */
2)批注标记:@author<作者姓名>
@version<版本信息>
@param<参数名称><参数说明>
@return<返回值说明>
3)dos下执行命令:javadoc -d 路径 -author -version