1.this关键字
this关键字表示当前对象,可以在类中调用成员变量,成员方法,构造方法
public class Person {String name;int age;String gender;public Person(){//在类中的某个构造方法中,使用this关键字调用另一个构造方法this("aa",22,"男");}public Person(String name,int age,String gender){ //使用this关键字在构造方法中给成员变量赋初值this.name = name;this.age = age;this.gender = gender;}public void showInfo(){//使用this关键字调用成员变量System.out.println("姓名:"+this.name+"年龄:"+this.age+"性别:"+this.gender);//使用this关键字调用成员方法,this也可以省略this.work();}public void work(){System.out.println("人工作");}
}
2.static关键字
static关键字表示静态的,可以用来修饰成员变量,成员方法,代码块,内部类
特点:
(1)随着类的加载而加载
(2)修饰的成员被所有对象所共享
(3)优先于对象存在
(4)可以不创建对象,直接使用类名调用
1.static修饰成员变量
(1)被static修饰的成员变量在类中只有一份,独属于类,而不属于某个对象,被该类所有的对象所共享
2.static修饰成员方法
(1)static修饰的成员方法,在该方法中只能访问静态的成员,不能访问非静态的成员
(2)非静态的成员方法中,既可以访问非静态的成员,也可以访问静态的成员
(3)静态方法中不能有this和super关键字
(4)当我们一个方法中没有使用到成员变量,且只需要传参,经过计算,最后再返回时,就可以定义为静态的方法
3.代码块
代码块:就是用{}括起来的代码
代码块分为实例代码块和静态代码块
实例代码块:每次创建对象时自动调用
eg:
//实例代码块
{
//任何符合java语言的代码
}
静态代码块:类加载时自动调用,仅一次,与是否创建对象无关
eg:
//静态代码块
static{
//任何符合java语言的代码
}
类什么时候会被加载?
(1)调用类中的main方法
(2)调用类中的静态成员变量,静态成员方法
(3)创建类的对象
4.包
当我们以后写的类越来越多,为了避免混淆,我们用包对类进行管理
1.包的作用:
(1)按照不同功能管理类
(2)避免类名重复
(3)控制访问权限
2.包的命名规范:
第一级: 指项目的类型 eg:com,gov,edu.org等
第二级: 项目所开发或者运行的公司名称 eg:huawei,oracle,sun等
第三级: 指项目的名称 eg:bcms,oa,erp,cms等
第四级: 指项目模块的名称 eg:bean,action,exception等
注意:
(1)当我们在一个类中使用到其他包中的类时,需要使用import将全类名导入到该类中
(2)当我们在一个类中使用到其他两个包中的同名的类,只能用import导入其中一个,而另一个则需要在使用时指定全类名,否则编译器会将其默认为导入的那个包中的类
(3)当我们使用本包中的类或者java.lang包中的类时,不需要导入包
5.访问权限修饰符
(1)public(公共的):被public修饰的成员变量或成员方法可以在任何地方访问,本类,同一个包中的不同类,不同包中的类
(2)protected(受保护的):被protected修饰的成员变量或成员方法可以在本类,同一个包中的不同类,不同包的子类中访问
(3)缺省的(默认的):当我们不写访问权限修饰符时,成员变量或成员方法可以在本类,同一个包中的不同类中访问
(4)private(私有的):被private修饰的成员变量或成员方法只能在本类中访问