众所周知,面向对象技术有三大法宝。一曰:继承。二曰:多态。三曰:封装。
在我们取出这三个大宝贝之前,先看一下另一个小宝贝——包(package),也可以称为软件包。
用户可以将一组相关的类或接口封装在包里,从而更好地管理已开发的java代码。
在创建新的包的时候,包声明语句要求必须是定义类或接口或枚举类型的java源程序文件的第一条语句。
格式:package 包名;
包名可以是一个标识符,也可以由若干个标识符通过" . " 连接而成,通常采用后一种形式,其中包名的前几个标识符是所在单位的Internet域名的倒叙,如 package cn.edu.zzu.text;
如要使用软件包中的类,接口,枚举等。需要导入包的语句。格式分为三种
1.import 包名.*;
2.import 包名.类型名;
3.import 包名.类型名.静态成员方法名;
一般原则是尽量使用比较后面的导入形式,否则,一般会占用内存,并降低一定的编译效率。
OK,现在我们掏出我们的第一个大宝贝————封装;
封装性可以使各个模块对象的外在表现仅仅为对一些成员域的访问方式和一些成员方法的调用方式,即屏蔽各个模块对象的内部具体实现方式。(嘿嘿,忍不住夸自己还能背出来。)
通俗点说我让你看见的东西,你就能看见,我不让你看见的东西,你就别想看见他。
封装性是通过访问控制来实现的。
访问控制的关键字一共有四个:public(公共模式),protected(保护模式),default(默认模式),private(私有模式)
类的访问控制方式有公共模式(public)和默认模式(default)两种(内部类除外)
如过在类定义的修饰词列表中包含关键字public,该类具有访问控制方式为公共模式。具有公共访问模式的类能够被所有的软件包使用,所有的类都可以访问公共访问控制模式的类。
不含有关键字public,protected,private,则该类为默认模式,具有默认访问控制模式的类只能在同一个软件包内部使用,只有在同一个软件包中的类可以访问具有默认访问控制模式的类。
而对于类成员的访问控制模式我们来列个表
访问控制模式 | 同一类 | 同一包 | 子类 | 所有类 |
public | 允许访问 | 允许访问 | 允许访问 | 允许访问 |
protected | 允许访问 | 允许访问 | 允许访问 | |
default | 允许访问 | 允许访问 | ||
private | 允许访问 |
OK看看博客终觉浅,得知此事需敲码。加油