JAVA从入门到精通(9)-- 封装

一、面向对象特征

封装、继承、多态

二、封装

1》定义:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

2》好处:

a、只能通过规定的方法访问数据

b、隐藏类的实例细节,方便修改和实现

3》步骤:

a、修改属性的可见性---设为private

b、创建getter/setter方法---用于属性的读写(不一定使用getter/setter方法,可以使用普通方法给变量赋值,但不标准)

c、在getter/setter方法中加入属性控制语句---对属性值的合法性进行判断

三、使用包管理Java中的类

1》包的作用(类似于文件夹)

管理Java文件,解决同名文件冲突

2》定义包: package 包名

注:必须放在Java源程序的第一行

包名间可以使用" . "号隔开  eg:com.qps.MyClass

3》系统中的包

java . (功能) . (类)

java . lang . (类)   包含java语言基础的类

java . util. (类)   包含java语言中各种工具类

java . io . (类)   包含输入、输出相关功能的类

4》包的使用

1》可以通过import关键字,在某个文件使用其他文件中的类。

import com.imq.music.MyClass

2》Java中,包的命名规范是全小写字母拼写

3》使用的时候不但可以加载某个包下的所有文件   eg:com.qos.*

也可以加载某个具体子包下的所有文件    eg: com.qps.music.*

四、Java中的访问修饰符

访问修饰符:可以修饰属性和方法的访问范围

五、Java中的this关键字

1》this关键字代表当前对象

this.属性 操作当前对象的属性

this.方法 操作当前对象的方法

2》封装对象的属性的时候,经常会使用this关键字

六、Java中的内部类

1》定义:内部类(Inner Class)就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。

2》作用:

a、内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

b、内部类的方法可以直接访问外部类的所有数据,包括私有的数据

c、内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

3》内部类分类:

. 成员内部类

. 静态内部类

. 方法内部类

. 匿名内部类

4》成员内部类

内部类中最常见的就是成员内部类,也成为普通内部类。

成员内部类的使用方法:

1》Inner类定义在Outer类的内部,相当于Outer类的一个成员变量的位置,Inner类可以使用任意访问控制符

2》Inner类中定义的方法可以直接访问Outer类中的数据,而不受访问控制符的影响,如直接访问Outer类中的私有属性

3》定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去new 一个内部类对象。即:内部类   对象名 = 外部对象类.new   内部类();

4》编译程序后,成员内部类的.class文件总是:外部类名$内部类名.class

注:1.外部类是不能直接使用内部类的成员和方法的,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。

2.如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。

5》静态内部类

静态内部类是static修饰的内部类,这种内部类的特点是:

1.静态内部类不能直接访问外部类的非静态成员,但可以通过new  外部类().成员   的方式访问

2.如果外部类的静态成员与内部类的成员名称相同,可通过 “ 类名 . 静态成员”访问外部类的静态成员;

   如果外部类的静态成员与内部类的成员名称不相同,可通过“ 成员名 ”直接调用外部类的静态成员

3.创建静态内部类的对象时,不需要外部类的对象,可以直接创建 :  内部类   对象名   =   new   内部类() ;

6》方法内部类

方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

注:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和static修饰符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值