----基础永远都是如此重要
1.1面向对象思想理解
1》类就是一组具有相同属性和行为的事物的抽象
2》对象就是类的实例化,举个例子来说,瓶子是个很抽象的概念,当不同人看到这个词时会想到不同的瓶子,但是当我说容积为
550m毫升的冰露矿泉水瓶子时那么它的形象就确定,那么这个冰露的矿泉水瓶子就可以看作是一个被实例化了的瓶子类对象。
1.2类的声明
声明格式如下:
[修饰符]class 类名 [extends 父类][implements 接口1, 接口2,...,接口n]
{
类成员
}
修饰符用于说明类的可访问性和其他非访问性质。可访问性用于该类对于其他类的可见性,非访问控制符用来限定类是否具有某些特征
1.3类的访问控制
类的访问控制有两种方式:public 和 默认访问方式(即class前面没有访问控制修饰符)。
关键字public修饰的类为公共类,对于所有的类都可见,对于处于不同包下的公共类只要指明出处即可(即先导入包名再引用公共类,也可直接声明包明直接引用)。
默认访问方式,也称包私有(package-private),只对本包内的类可见而对于包外的类是不可见的,即使通过import语句将该类所在的包导入,也是不可访问的。
1.4类的成员
类的成员包括成员变量和成员方法,成员用于描述类的属性,成员方法用于描述类的功能和操作。
1>.成员变量的定义
[访问控制符][static][final][transient][volatile] 数据类型 变量名
访问控制符--->:public , private , protected
static--->:成员变量为静态数据
final--->:成员变量为常量
transient--->:成员变量不能被初始化
volatile--->:变量能从主存读取,进行异步修改
数据类型--->:Java提供基本数据类型和类也可是用户自定义的类
2>.成员方法的定义
[访问控制符][static][final][abstract][native][synchronized] 返回值数据类型 方法名([参数表])
[throws 异常名表]
{
方法体
}
访问控制符--->:public , private , protected
final--->:不可被修改的最终方法,不可以被重写,但可以被重载
abstract--->:抽象方法没有方法体
native--->:该方法为本地方法
synchronized--->:该方法是一个同步方法
3>.成员访问控制
成员访问控制符有三种:public, private,protected,它们和成员的默认访问方式(包私有:package-private)一起构成成员访问的四种方式。
public--->:所有的类都可以进行访问
private--->:只能被定义它的类访问
protected--->:对同一个包的类可见,而且对该类的不在同一个包的子类可见
默认访问方式--->:对同一个包的类可见
4>.类静态成员static
无论成员变量和成员方法可以用static修饰,它们的共同点是不可以被实例化,直接用类进行调用,因为static修饰的静态成员属于类而不属于对象,静态成员对于所有的类对象都是共享的成员。因此静态方法中不能访问非静态的成员。使用类的静态成员时直接通过类进行调用例如“类名.静态成员”。
5>.本地方法
用关键字native来表明该方法为本地方法,它说明该方法不是用java来进行编写而是用其他语言进行编写例如c/c++/汇编语言。这些方法通过JNI(Java Native Interface)来与Java程序进行连接。
1.5对象的实现
对象实例化三部曲:声明对象变量,实例化对象,初始化对象
声明对象变量:限定对象是那种类型
实例化对象:开辟内存空间
初始化对象:通过new操作符调用构造方法来实现