1.this关键字
代表当前对象(即当前new的对象),存储对象的地址
1.1:能够在构造器的首行用来调用本类中的其他构造器
语法: this(参数列表);
1.2:用来区别成员与局部同名问题
-
如果出现同名问题,默认就近原则
-
如果出现同名问题,想要指代调用同名的成员,需要this.成员
-
不存在同名问题,指代成员的时候,this,可以省略
注意:
构造器之间不能相互调用 在静态的被static修饰的方法中不能使用this
例如:
public People(String name,String sex){
this.sex=sex;
this.name=name;
}
2.static关键字
static是成员修饰符,只能修饰成员,不能修饰局部
成员位置:类中方法外
成员内容:定义在类中方法外
成员变量:
不被static修饰的变量-->实例变量
被static修饰的-->静态变量|类变量
无论是否被static关键字修饰都定义在成员变量位置,都是成员
修饰变量 : 静态变量|类变量 修饰方法 : 静态方法|类方法
使用规范:
1.通过对象使用,通过对象的引用调用 引用.静态变量名 引用.静态方法名(参数列表);
2.通过类名调用 类名.静态变量名 类名.静态方法名(参数列表)
静态的是属于类的
成员是属于对象的
静态内容是独一份的,在类第一次加载完成之后就进行初始化,只初始化一次 静态变量在静态区中(方法区中),所有对象共享的唯一的静态内容 加载内容是先静态后成员
注意:
静态内容是独一份的
静态内容中只能直接使用静态的内容,不能直接使用成员内容,需要通过对象使用成员 成员的内容中可以直接使用成员内容,可以直接使用静态内容
成员方法中this默认指代当前调用成员方法的对象 静态方法中不能使用this,因为静态方法可以通过类名调用,在调用时可以存在对象,所以不允许使用
3.package包
也就是文件夹,便于管理项目中众多的类,提供多种命名空间
包信息在类中的首行显示
package->import->类的定义
不需要导包的类:
1;java.long下的类
2:同包下的的类
导包:指明要使用的类的位置
1;使用的位置直接指明类的权限定名(包名,类名),但是只有当前这一次有效
2:使用import进行导包,当前类中都可以进行使用
import 包名.类名;
定义在类的上面
3:模糊匹配导入
import包名.*;
模糊匹配某一个包下的所有类
会降低编译效率,不会降低运行效率
4:静态导入:只能导入静态内容
import static
4.private关键字
成员修饰符,只能修饰成员,不能修饰局部的
一个成员一旦私有,只能在本类中使用,外部类无法使用
私有的成员需要配合公共的访问方式一起使用-->方法
设置器 setter
访问器 getter
私有的属性配合公共的访问方式就能够实现安全么
1;不能直接访问操作成员 2:设置器或者访问器中.方法中可以进行逻辑的判断等...
注意:
定义的模板类中的属性都要私有化.并提供一对公共的访问方式
小结:
面向对象的三大特性: 封装 继承 多态
封装:隐藏内部的实现细节,对外提供公共的访问方式
优点:
隐藏内部的实现细节.对外提供公共的访问方式
提高安全性
提高复用性
体现:
类,方法等都是封装的体现
属性私有化是封装的体现
私有是封装
封装不仅仅是私有
Java-bin指代一些列类
代表模板类,根据对象抽取共性定义的类,统一称为javabean
定义javaben的规范
1:类是公共的
2:至少提供一个空构造,按需提供带参
3:属性私有化
4:公共的访问方式