Day 01
final 关键字
如果final修饰类中的某一个属性,那么这个属性只能通过构造函数确定值,在确定值以后不能被更改
如果final修饰类,那么这个类的实例只能指向一个对象,对象中的属性可以被更改,但是这个实例不能再指向其他对象
static关键字
如果类中有一个属性利用static修饰,那么这个类的所有对象共享这个属性
也即在一个对象中对这个属性更改,会影响其他的对象
static修饰类中的方法,那么这个方法也可以直接利用类名来访问
例如
math.pow(x,a)
利用静态方法可以访问类中的静态属性,但是不能利用静态方法访问非静态属性
非静态方法也可以方法静态属性
区别在于是否需要创建对象
static final关键字
用static final 修饰的属性,首先不可被更改,其次会被多个对象共享。
可以直接用类名来访问这个属性,而不用创建新的对象。
工厂方法
后续补充
函数传值与引用
如果一个方法的参数是类似于int类型这样的数据,那么这个参数只是形参,并不会对原来的数据产生任何的影响
但如果参数为一个对象,那么这样的传参方式就是引用,方法会引用原来的对象,对原来的对象会有直接的影响
注意这里的引用和C++中的引用不同
这里引用是指向的意思
JAVA new一个对象是会新开辟一个空间来保持这个对象
赋值=实际上就是指向这个对象
例如:
swap(Emploee x,Emploee y){
Emploee t =x;
x=y;
y=t;
}
并不会发生交换
这个函数的运行过程是这样的:
首先会创建两个临时变量x,y来指向已有的Emploee对象
然后在函数结束时,x,y会销毁,原来的Emploee对象并不会发生交换
方法重载
和C++一样,JAVA支持函数重载
对于构造函数而言
如果不提供显式的构造函数
系统会提供一个默认的构造函数
对于每一个属性赋予默认值
同时可以在构造器里调用另一个构造函数
也可以通过初始化块来对属性进行初始化
标签:JAVA,对象,笔记,学习,static,属性,Emploee,final,构造函数 From: https://www.cnblogs.com/zzRh-5479/p/16653043.html