Java学习笔记——03(封装)

这篇专栏的笔记是面向对象三大特性之一:封装

封装:将类的某些信息隐藏起来,不允许外部直接访问。

作用:1.只能通过规定的方法访问数据。
      2.隐藏类的实现细节。

1、访问控制符

一般通过修改访问修饰符来控制访问范围,访问修饰符包括:publicprotecteddefaultprivate
在这里插入图片描述

图1 访问控制符

2、访问私有变量

1.变量age被private修饰,成为私有变量。
2.访问私有变量需要借助set()方法和get()方法,不可以通过对象直接访问
在这里插入图片描述

图2 类的定义

在这里插入图片描述

图3 访问私有变量

3、this关键字

其中,我们发现set()方法中出现了this关键字,它代表当前对象,如图3。等号左边的this.age成员变量,等号右边的age是形参。
在这里插入图片描述

图4 this关键字

也可以通过修改形参加以区分,如图4。其中,myAge是形参。
在这里插入图片描述

图5 区分成员变量和形参

4、内部类

内部类:定义在类内部的类。与内部类相对应的概念叫外部类,即外部类中定义了内部类
在这里插入图片描述

图6 内部类

——为什么要内部类?
1.可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
2.内部类中的方法可以直接访问外部类的所有数据。

内部类分为四种:成员内部类静态内部类方法内部类匿名内部类

扫描二维码关注公众号,回复: 8972082 查看本文章

5、成员内部类

1.内部类可直接访问外部类的变量,即使该变量是私有的。
在这里插入图片描述

图7 内部类访问外部类的私有变量

2.外部类和内部类出现同名变量时,内部类优先访问内部类变量。若要访问外部类变量,格式为"外部类.this.变量名"。
在这里插入图片描述

图8 外部类和内部类出现同名变量的情况

3.调用内部类方法的不同方式。
在这里插入图片描述

图9 调用内部类方法

6、静态内部类

1.静态内部类可以直接访问外部静态成员,但不能直接访问外部非静态成员
2.静态内部类访问外部非静态成员需要通过外部类对象访问。
在这里插入图片描述

图10 静态内部类访问外部类成员

3.外部类和内部类出现同名变量时,内部类中的方法访问这两个变量方式不同。
4.可直接创建静态内部类对象
在这里插入图片描述

图11 外部类和内部类出现同名变量的情况

7、方法内部类

1.外部类中有方法,方法中有类,这个类叫做方法内部类。
2.方法内部类只能在方法中使用,不能使用访问控制符和static。
在这里插入图片描述

图12 方法内部类

(匿名内部类需要用到继承、接口等操作,该类会在后续记录)
——————————
氷鸢鸢鸢

2020.2.2

发布了4 篇原创文章 · 获赞 4 · 访问量 281

猜你喜欢

转载自blog.csdn.net/koori_145/article/details/104146427
今日推荐