2 封装

2-1 封装概念
1.概念
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

2.好处:
a.只能通过规定的方法访问数据
b.隐藏类的实例细节,方便修改和实现

3.封装的实现步骤
1.修改属性的可见性 private
2.创建getter/setter方法 用于属性的读写
3.在getter/setter方法中将爱如属性控制语句 对属性值的合法性进行判定

2-2 使用包管理类
1.包的作用
管理Java文件
解决同名文件冲突
2.定义包:package 包名
注:必须放在Java源程序的第一行 包名间可以使用"."号隔开
eg:com.imooc.MyClass
3.系统中的包
java..
java.lang.
java.util.
java.io.
4.包的使用
1.可以通过import关键字,在某个文件中使用其他文件的类.
import com.imooc.music.MyClass
2.java中命名规范是全部小写
3.使用的时候可以加载某个包下的所有文件
eg: com.imooc.*
也可以加载某个具体子包下的所有文件
eg: com.imooc.music.*

2-3 访问修饰符
可以修饰属性和方法的访问范围


image.png

2-4 this关键字
1.this关键字代表当前对象
this.属性操作当前对象的属性
this.方法 调用当前对象的方法
2.封装对象的属性的时候,经常会用this

2-5 内部类

  1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
  2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
  3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
    内部类可分为以下几种:
    1成员内部类
    2静态内部类
    3方法内部类
    4匿名内部类

2-6 Java中的成员内部类
1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等
2、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a
3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
4、 编译上面的程序后,会发现产生了两个 .class 文件


其中,第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class
另外,友情提示哦:
1、 外部类是不能直接使用内部类的成员和方法滴
image

可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。如:
image

运行结果:
image

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、Java中的封装 面向对象的三大特性:封装、继承、多态 1、封装:将类的某些信息隐藏在类内部,不允许外部程序直...
    夏沫xx阅读 2,688评论 0 0
  • 封装 1.将类的某些信息隐藏在类的内部,不允许外部程序直接访问,提高信息安全性。 2.通过该类提供的方法(gett...
    发芽的瓜子阅读 681评论 0 0
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,016评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 4,776评论 0 4
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,806评论 1 32