一,this关键字
- this的作用:表示的是当前对象本身,或者说this代表当前对象的一个引用。
- 如果在普通方法中使用this要区分类成员属性和方法的形参,以及调用当前对象的其他方法(可以省略),使用位置是任意的。
- 如果构造方this不能用于static方法中使用this需要使用this来调用其它构造方法。但位置:必须是第一条语句。
- this不能用于static方法。
二,static关键字
- 在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量.
- 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化
- 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享也可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”(static变量置于方法区中)。用static声明的方法为静态方法。不需要对象,就可以调用(类名.方法名)。在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员静态方法不能以任何方式引用this和super关键字。
三、代码块
- 概念:使用”{}”括起来的一段代码
- 分类:根据位置可分类
- 普通代码块—>直接在方法或语句中定义的代码块
- 构造代码块—>直接写在类中的代码块
- 静态代码块—>使用static声明的代码块
四、package
- 为了解决类之间的重名问题。
- 为了便于管理类:合适的类位于合适的包
- 通常是类的第一句非注释性语句。
- 包名:域名倒着写即可,再加上模块名,并不内部管理类。
五、import
如果不使用import,我们如果用到其他包的类时,只能这么写:java.util.Date,代码量太大,不利于编写和维护。通过import可以导入其他包下面的类,从而可以在本类中直接通过类名来调用。
用法:
import java.包名.类名;导入具体的类 推荐使用
import 包名.*; 将当前包下的所有类文件都进行导入,不推荐,因为它不会影响运行速度,但是会影响编译的速度.
注意: 当一个java文件中需要使用多个同名的类的时候,只能选择导入一个,另一个使用完全限定名的方式进行导入.
静态导包: 当需要使用某个类的多个方法的时候,同时又不想频繁写该类的名称,此时可以使用静态导包.
六、封装
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
封装的好处:隐藏类的实现细节只能通过规定方法访问数据.方便加入控制语句.方便修改。
八、使用访问控制符,实现封装
在java中明确定义了访问权限:
限制访问,以下分类按照从大到小进行排列
public:公共的
当前项目的所有的类都可以进行访问
protected:受保护的
可以被当前类访问,可以被当前包访问,也可以被子类访问
default:默认权限
可以被当前类访问,可以被当前包访问,
private:私有权限
只能被当前类访问
注意:四种访问修饰符可以修饰属性和方法
类的访问修饰符只有两个 public default