this 关键字的用法
Java开发离不开关键字this,this有三类用法:
调用本类属性
为了避免类的属性名称和方法参数名称的重复,需要用this.属性的形式,来明确指明调用的是属性而不是参数
注:为了避免不必要的麻烦,在访问类的属性时,不管名称重复与否,都加上this关键字
调用本类方法
类中的方法主要有两种:普通和构造方法。所以调用本类方法也有两种形式:
普通方法:this.方法()
构造方法:this()
注:用this(),可以很好解决构造方法中的代码重复问题
表示当前对象
- 表示当前调用类中方法的实例化对象
static 关键字的用法
定义属性
- 在声明属性前加上static关键字,表示公共属性
公共属性,任何一个对象修改了此属性的内容都会影响其他的对象。好比一个人有多个名字,小张、狗蛋、二狗子,如果小张的腿摔断了,那么狗蛋和二狗子的腿也会摔断,因为他们是同一个人
static定义的属性保存在全局数据区
static定义的属性可以由类直接调用,而非static属性必须在实例化对象之后,由对象调用
定义共享属性的时候才会使用static,一般情况都是使用非属性
定义方法
和定义属性一样,使用static定义普通方法时,没有经过实例化产生对象可以直接由类名直接调用
注意:
- static方法不能直接访问非static方法或属性
- 非static方法可以直接调用或访问static方法
原因:
- 非static结构在实例化对象之后才会分配堆空间,才可以使用
- static不受实例化对象的控制
public static void main(String args[])
刚刚开始接触java时,感觉这个一大串好长,每个部分究竟各自代表什么意义,不写其中的任何一项可不可以
- public:表示此方法对任何操作都是可见的
- static:此类方法由类名直接调用
- void: 表示返回值为空
- main: 规定的名称
- String args[]: 程序运行时传递的参数,java类名 参数 参数 参数
final关键字的用法
使用final定义的类不能再有子类,String类就是final定义的类
final定义的方法不能够被覆写
final void fun()``` 1
2
3
4
- final定义的变量变为常量 类似于C++里面的 const
- 全局常量:即用public static final 3个关键字定义的常量 ``` public static final String xxy="LOVE"
