JAVA封装
面向对象有三大特征:
1、封装
2、继承
3、多态
封装:
定义:
- 隐藏类的内部信息,不允许外部程序直接访问,而是通过方法进行操作
封装操作步骤:
-
1、将属性设置为private,只能在本类中使用,如private int age;
-
2、编写对应属性的赋值方法,如setAge()和getAge()
-
赋值方法:
- public void setAge(int age){
if (age>=0&&age<=100){
this.age=age;
}else {
this.age=18;
}
}
-
取值方法:
- public int getAge(){
return age;
}
-
this关键字:
this关键字访问本类中的实例变量(对象变量):
-
this表示当前这个对象,也就是说当前谁调用这个方法,则这个对象就是谁
-
this关键字可以访问本类中的属性:
- 当局部变量和成员变量没有同名时,则编写属性名等价于this.属性名,如id等价于this.id
- 当局部变量和成员变量同名时,并且访问成员变量则需要使用this
this关键字访问本类中的实例方法(对象方法):
-
方法名称([参数列表])
- 等价于this.方法名称([参数列表])
this关键字访问本来中其他构造方法:
-
this();
-
this([参数列表]);
-
注意:
- 当时使用this访问本类中构造方法时,则只能编写在构造方法中,并且是一条语句,其他不可以,译错
- 不可以自己调自己(递归调用)
static关键字:
为什么使用static关键字修饰属性:
- 方法区(也叫共享区=》节省空间)
static关键字修饰属性(静态)
-
称为静态属性,也叫类的变量,没有static称为非静态属性,也叫做实例变量
-
在方法区(共享区)中存储,并且所有对象都可以访问
-
与类同生死,也就是说类在,static修饰的属性就在
-
使用:
- 类名.属性名称
- 引用名称.属性名称(new后)
-
类优先于对象,也就是说类的生命周期比较长
static关键字修饰方法:
-
称为静态方法,也叫做类的方法
-
与类同生死,也就说类存在时,static修饰的方法就存在
-
使用:
- 类名.方法([参数列表]);
- 引用名称.方法名称([参数列表]);(new后)
-
静态方法中只能访问静态属性、静态方法
-
当方法体中只访问静态属性、静态方法时,可以编写为静态方法,但如果有实列属性、实列方法则只能编写为非静态
static修饰静态代码块:
-
(构造方法:完成对实列变量的赋值)
-
(静态代码块:主要对静态属性赋值)
-
静态代码块在类第一次被载入时执行
-
static String address;
static {
address=“北京”;
}
- address必须存在