封装
面向对象的三大特征:
封装
继承
多态
有了封装,才有继承,有了继承,才能说多态。
面向对象的首要特征:封装。
现实生活中有很多现实的例子都是封装的,例如:
手机,电视机,笔记本电脑,照相机,这些都是外部有一个坚硬的壳儿。封装起来,保护内部的部件。保证内部的部件是安全的。另外封装了之后,对于我们使用者来说,我们是看不见内部的复杂结构的,我们也不需要关心内部有多么复杂,我们只需要操作外部壳儿上的几个按钮就可以完成操作。
封装的作用有两个:
第一个作用:保证内部结构的安全。
第二个作用:屏蔽复杂,暴露简单。
在代码级别上,封装有什么用?
一个类体当中的数据,假设封装之后,对于代码的调用人员来说,
不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了。另外,类体中安全级别较高的数据封装起来,外部人员不能随意访问,来保证数据的安全性。
不再对外暴露复杂的数据,把代码封装起来,对外只提供简单的操作入口
优点:
第一数据更安全了。
第二调用者更方便了。
public class Person{
private int age;
上述代码中,private 表示私有的,被这个关键字修饰之后,该数据只能在本类中访问,出了这个类,age属性就无法访问了。
如何进行封装?
第一步:属性私有化(使用private关键字进行修饰。)
第二步:对外提供简单的操作入口。(写一个方法专门来完成读(get),再写一个方法专门来完成写(set))
java开发规范中有要求,set方法和get方法要满足以下格式。
get方法格式:
public 返回值类型 get + 属性名首字母大写(无参数){
return xxx;
}
set方法的要求:
public void set + 属性名首字母大写(有1个参数){
xxx=参数;
}
封装的代码实现两步:
第一步:属性私有化
第二步:1个属性对外提供两个set和get方法。外部程序只能通过set方法修改,只能通过get方法访问。可以在set方法中设立关卡来保证数据的安全性。
static:
1、static翻译为"静态”
2、所有static关键字修饰的都是类相关的,类级别的。
3、所有static修饰的,都是采用“类名.”的方式访问。
4、static修饰的变量:静态变量
5、static修饰的方法:静态方法
变量的分类:
变量根据声明的位置进行划分:
在方法体当中声明的变量叫做:局部变量。
在方法体外声明的变量叫做:成员变量。
成员变量又可以分为:
实例变量
静态变量
非常重要的总结:
set和get方法都是实例方法,不能带static
不带static的方法称为实例方法,实例方法的调用必须先new对象。
set和get方法写的时候有严格的规范要求,一定要要按照规矩来写。
class VarTest{
//成员变量中的实例变量
int i;
//成员变量中的静态变量
static int k;
//静态方法
publie static void ml(){
}
//实例方法
public void m2(){
}