Java学习笔记——03(封装)
这篇专栏的笔记是面向对象三大特性之一:封装
封装:将类的某些信息隐藏起来,不允许外部直接访问。
作用:1.只能通过规定的方法访问数据。
2.隐藏类的实现细节。
1、访问控制符
一般通过修改访问修饰符来控制访问范围,访问修饰符包括:public、protected、default、private。
2、访问私有变量
1.变量age被private修饰,成为私有变量。
2.访问私有变量需要借助set()方法和get()方法,不可以通过对象直接访问。
3、this关键字
其中,我们发现set()方法中出现了this关键字,它代表当前对象,如图3。等号左边的this.age是成员变量,等号右边的age是形参。
也可以通过修改形参加以区分,如图4。其中,myAge是形参。
4、内部类
内部类:定义在类内部的类。与内部类相对应的概念叫外部类,即外部类中定义了内部类。
——为什么要内部类?
1.可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
2.内部类中的方法可以直接访问外部类的所有数据。
内部类分为四种:成员内部类、静态内部类、方法内部类、匿名内部类。
5、成员内部类
1.内部类可直接访问外部类的变量,即使该变量是私有的。
2.外部类和内部类出现同名变量时,内部类优先访问内部类变量。若要访问外部类变量,格式为"外部类.this.变量名"。
3.调用内部类方法的不同方式。
6、静态内部类
1.静态内部类可以直接访问外部静态成员,但不能直接访问外部非静态成员。
2.静态内部类访问外部非静态成员需要通过外部类对象访问。
3.外部类和内部类出现同名变量时,内部类中的方法访问这两个变量方式不同。
4.可直接创建静态内部类对象。
7、方法内部类
1.外部类中有方法,方法中有类,这个类叫做方法内部类。
2.方法内部类只能在方法中使用,不能使用访问控制符和static。
(匿名内部类需要用到继承、接口等操作,该类会在后续记录)
——————————
氷鸢鸢鸢
2020.2.2