1.This关键字
在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,
常常用来区分同名的成员变量和局部变量。
this关键字代表当前对象 使用this关键字引用成员变量
使用this关键字引用成员方法或构造方法。
this的功能
引用当前对象的成员:当局部变量和类的成员变量同名时,可以用
this
来区分它们。在构造器中调用另一个构造器:可以在一个构造器中使用
this()
来调用同一个类的另一个构造器。
在链式调用中:在setter方法中返回this
可以使得可以进行链式调用。
注意:
1,this
只能在类的非静态方法中使用,因为静态方法不属于任何对象实例。
2,this
不能用于静态方法、静态初始化块或实例初始化块中。
3,this
关键字不能在方法外部使用,如类之外或方法之外。
2.static
含义:static被称为静态,可以用来修饰类的成员变量,成员方法,代码块,内部类。静态成员不依赖于类的实例,被类的所有实 例共享,就是说 static 修饰的方法或者变量不需要依赖于对象来进行访问,只要这个类被加载,静态成员就会被加载创建。
特点:
随着类的加载而加载
优先于对象存在
修饰的成员,被所有对象所共享
可不创建对象,直接使用类名调用
属性:
static 修饰的成员方法就是静态方法。
静态方法在本类的任意方法、代码块、构造器中都可以直接被调用。
静态方法在其他类中可以通过类名.静态方法的方式调用。也可以通过对象.静态方法的方式调用(但是更推荐使用类名.静态方法的方式),
在static方法内部只能访问类的static修饰的属性或方法,不能访问类的非static的成员。
因为不需要实例就可以访问static方法,因此static方法内部不能有this,也不能有super。
static--静态 可以修饰类中的成员变量,成员方法,代码块,内部类 static修饰属性(成员变量)
static关键字修饰的属性特点: 静态成员变量也称为类变量,在内存中只有一份,所有对象可以共享,一般情况下,将类中所有对象都相同的属性设置为静态的. static修饰内容,随着类的加载而加载,类只要被加载了就可以直接通过类名访问, 优先于对象存在 静态成员被被所有的对象共享 可以直接使用类名访问(建议) static修饰成员方法,修饰的成员方法也称为类方法,可以直接使用类名访问.在静态的方法中只能访问静态的成员变量, 非静态的方法中可以使用静态的成员变量
3.代码块
代码块在类中声明,类似一个没有名称的方法体(代码块),代码分实例块和静态实例块:
每次创建对象时自动调用
静态块:类加载时自动调用,仅一次,与是否创建对象无关
4.包:
当项目越写越大,用到了类越来越多 会出现同名类,如何按照不同的功能管理类
1.java中使用包机制来管理类
Java 引入了包(package)机制,提供了类的多层命名空间,用于解决类的命名冲突、类管理等问题。
·使用package关键字修饰包 ·每个类属于一个特定的包,所以java中一个类的完整名称等于包名+类名
2.包的作用:
1.按照不同功能管理类
2.避免类重名
3.控制访问权限
包名命名,如何创建多级包
包目前至少3级
第-级 项目类型 com grg gov edu
第二级 公司名字baidu sun huawei
第三级 项目名字oa cms erp
第四级 功能模块 web service dao config
5.访问权限修饰符
1.访问权限修饰可以修饰类,成员变量,成员方法,内部类 访问权限修饰符共有4种:
public:公共权限 修饰类,成员变量,成员方法,内部类
protected: 受保护权限 修饰成员变量,成员方法,
内部类什么都不写:默认权限 修饰类,成员变量,成员方法,内部类
private:私有权限 修饰成员变量,成员方法,内部类