-----------------------------------关于封装-------------------------------------
封装原则
将不需要对外提供的内容隐藏起来。
把属性隐藏,提供公共方法对其进行访问。之所以对某些信息进行封装然后提供公共接口让外人进行访问,是因为可以对访问操作方式进行控制,来规范用户输入的数据,限制不合理信息,提高代码的健壮性。
-----------------------------------构造函数方法---------------------------------
功能 强制初始化
特点 无返回值 函数名与类名保持一致
只能在new后面调用
如果没有为一个类显式的定义一个构造函数,则系统分配一个默认的无参的、方法体为空的构造函数,如果已经为一个类显式的定义了一个构造函数,则系统不会分配一个默认的无参的、方法体为空的构造函数,此时再调用会出错。
-----------------------------------构造代码块-----------------------------------
作用:给对象进行初始化。
对象一建立就运行,而且优先于构造函数运行。
与构造函数的区别:
构造代码块儿是给所有的对象进行初始化,而构造函数是给对应的对象初始化。
构造代码块儿用于初始化所有对象共有的特点或功能进行初始化。
----------------------------------关键字this-------------------------------------
作用:用于区分局部变量和成员变量同名的情况。
this就代表本类的对象,到底代表表哪一个呢?
this代表它所在函数所属对象的引用。简单说,哪个对象在调用this所在的函数,this就代表哪个对象。
this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这是用this来表示这个对象。但凡本类功能内部使用到了本类对象,都用this表示。
this在构造函数中的调用:
用于构造函数之间的相互调用。此时this函数只能放在函数里面的第一行。
---------------------------------关键字static---------------------------------------
new 内存分配运算符,一元运算符,new后面是一个构造函数,通过new来访问后面类里包含了哪些内容,然后进行内存分配。起返回值为分配内存的物理首地址。
static 当被static修饰的类代码载入到java虚拟机里的时候,就立刻分配内存,并且只分配一次。
静态函数中不能直接引用(本类其他的)非静态成员,但可通过该类的一个对象间接引用。(因为在new对象的时候new对非静态成员分配了内存)
--------------------------------关键字final------------------------------------------
final:修饰符。
1,可以修饰类,函数,变量。
2,被final修饰的类不可以被继承,目的是为避免被继承,被子类复写,完善继承带来的封装漏洞。
3,被final修饰的方法不能被复写。
4,被final修饰的变量只能复制一次,既可以修饰成员变量,又可以修饰局部变量。当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。而这个值不需要改变,所以用final修饰。作为常量:常量的书写规范所有字母都大写,如果由多个单词组成,单词间通过_连接。这个时候,往往会加上static使之成为共享数据(此时可以直接拿类名调用)
例:
class Demo
{
final double PI=3.14;
final int MY_AGE=18;
}