static关键字
static表示静态的,jvm会优先加载static修饰的东西
一个类中可以存在的成员:
局部变量 成员变量 普通方法 构造方法 代码块 内部类
static可以修饰的:
- 普通方法
- 成员变量
- 代码块 不能修饰的:
- 构造方法
- 局部变量
- 外部类
static修饰的成员,调用方式:
有static修饰的变量和方法,可以通过**类名.变量名/类名.方法**名调用
特点:其中static修饰的变量,该类每个对象共享
没有static修饰的变量和方法:
通过创建对象后,对象.变量名/对象.方法名调用
static关键字的使用场景:
- 工具类中的方法 经常被使用,需要优先加载
- 全局常量 已经结合 public static final 定义全局常量
变量的分类
- 成员变量:作用于整个类中,有默认值
- static修饰的成员变量,又名类变量
- 没有static修饰的成员变量,又名实例变量
- 局部变量:定义在方法或代码块中,作用于声明的代码块或方法,没有默认值
包
java中的包可看做一个文件夹,把不同功能类放到不同的文件夹,对代码进行管理和分类
声明包:
package 包名; 写在类名上面
导包:告诉类中某一个类的位置
- import 包名.类名;
- lang包下的类不用导,但是lang包下子包的类需要导
封装
类的封装是java面向对象的三大特征之一
简单理解:
- 为了安全考虑,将字段私有化,不能直接访问和操作
- 提供公共可访问的get和set方法对字段进行间接访问操作
this关键字
this持有当前调用对象的地址
this的作用:
- 解决成员变量与局部变量的二义性
- 作为参数传递
- 作为返回值返回
- this调用构造方法 this(); this(param1,param2);
注意:
- this调用构造方法,必须在构造方法的第一句
- 在静态方法中不能使用this
static修饰的方法优先加载 此时没有对象调用方法,this不知指向谁