静态的(static)和单例模式
main函数
主函数是一个特殊的函数,作为程序的入口,可以被jvm调用
主函数的定义
public 表示该函数的访问权限是最大的。
static 代表主函数随着类的加载就已经存在了。
void 主函数没有具体的返回值。
main 不是关键字,但是是一个特殊的单词,但是可以被jvm识别。
参数(String[] args) 参数的类型是一个数组,该数组的元素师String。
args 参数名,所以可以改,args 全称arguments。
主函数是固定格式的,为了使jvm识别。
jvm在调用主函数,传入的是new String[0].我们也可以传入给定的值。
静态修饰
静态变量:当对象中出现共享数据时,该数据被静态修饰。
静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的
静态代码块
格式:static{
静态代码块中执行的语句
}
特点:随着类的加载而执行,只执行一次。一般用于给类的初始化
优先级别:静态代码块>构造代码块>构造方法
System.exit(0);代表结束程序
Static有优先调用,没有static不能直接输出
Static
静态的,是一个修饰符,是修饰成员(成员变量,成员函数)的。静态所修饰的内容,被对像所共享。
当成员被静态修饰后,我们就多了一个调用方式。直接使用类名.静态成员
特点:随着类的加载而加载;生命周期很长。
优先于对像存在;静态是先存在的,对象是后存在的。
被所有对象所共享;
可以直接被类名所调用
this
当定义类中功能时,该函数内部要用到调用该函数的对象时,这时我们来表示这个对应。我们在本类功能内部中使用本类对象,我们用this
this()语句只能定义在构造函数的第一行,因为在初始化要先执行。
特点:this代表的是本类的对象;代表所在函数所属对象的引用-->哪个对象在调用this所在函数,this就代表哪个对象
看上去是用于区分局部变量和成员变量同名的情况
构造代码块
作用:给对象进行初始化。
对象一建立就运行,而且优先于构造函数之行。
和构造函数的区别:构造代码块是给所有对象进行统一初始化。而构造函数是给对应的对象进行初始化。
构造函数
1函数名与类名相同
2 不用定义返回值类型
3 不可以写ruturn
4 对象一建立就会调用与之对应的构造函数
5 如果这个类当中没有构造函数,那么系统会给该类加入一个空的构造函数。
6 当类中定义了构造函数后,默认的构造函数就没有了
作用:给对象初始化
注意:默认构造函数的特点。
多个构造函数是以重载的方式存在的。