1. package关键字
1.1 语法格式
package 包.子包.子子包...
(注:必须将该语句作为java文件中的第一行代码)
1.2 包的命名
1.2.1 包的命名需要遵循标识符规范,字母一般全部小写
1.2.2 一般分为四到五层
第一层:甲方公司域名的倒序 eg: com.tca
第二层:项目名称 eg: com.tca.oa (oa项目)
第三层:模块信息 eg: com.tca.oa.sso (sso为单点登录模块)
第四层:功能顶包层 eg: com.tca.oa.sso.service
第五层:实现类(有些功能没有实现类) eg: com.tca.oa.sso.service.impl
1.3 类的名称
类的名称包括简单名称和类的全限定名称(完整包名.类名)
2. import关键字
2.1 若A类和B类不在同一包内,在A类中调用B类的方法,此时可以通过B类的全限定名来操作,但是这种操作太麻烦,
一般,我们使用import关键字,将B类导入到A类中
2.2 编译器会自动去java.lang包中寻找使用到的类,比如System,String等,所以它们不需要导入。
2.3 可以使用通配符*批量导入,可以使用static静态导入,但实际开发中一般不用。
3. 封装
3.1 封装思想
3.1.1 将对象的状态和行为看成一个统一的整体,将二者放在一个独立的模块中(类)
3.1.2 信息隐藏,把不需要让外界知道的信息隐藏起来,尽可能隐藏对象功能实现细节
3.2 访问权限设置
3.2.1 权限关键字: public protected (default) private
3.2.2 权限关键字的访问权限,以及如何访问
假定这里Class A中的非静态成员用了以上四个修饰符进行修饰,那么如何访问这些成员
1.public: 在任何包的任何类中都可以通过A对象或A类的子类对象(没有发生复写)进行访问;
2.protected: 在A类所在的当前包中通过A类对象或A类的子类对象(没有发生复写)进行访问 或 在A类的子类中通过super 或this(可忽略)进行直接访问, 不能在非A类所在包或A类的子类对象中进行访问;
3.default: 在A类所在的当前所在包的任意的类中通过A类对象进行访问。
4.private: 只能在A类中通过this(可忽略)进行访问
4. this关键字
4.1 概念:表示当前对象,主要存在于两个位置,
4.1.1 构造器:就表示当前创建的对象
4.1.2 非静态方法:哪一个对象调用了该方法,this就表示哪一个对象。
4.2 this关键字的使用
4.2.1 解决成员变量与形参之间的二义性,这里必须使用this
public class User {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username; //这里必须使用this
}
}
4.2.2 同类中实例方法的互相调用,一般省略
4.2.3 将this作为参数传递给另一个方法
4.2.4 将this作为方法的返回值,一般用于链式编程
4.2.5 构造器重载的互相调用,this([参数])必须要写在重载构造器的第一行