java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
Java 面向对象的三大特性:封装、继承、多态。下面对三大特性之一封装进行了总结,需要的朋友可以参考下
第一节 什么是 JAVA 中的封装
面向对象的三大特性:封装、继承、多态。
1. 概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法,来实现对隐藏信息的操作和访问。
2. 好处:
a 只能通过规定的方法访问数据
b 隐藏类的实例细节,方便修改和实现
3. 封装的实现步骤
修改属性的可见性,改为设为 private;创建 getter/setter 方法,用于属性的读写,创建一个特定的方法,一般是 gettersetter 方法,可以在 gettersetter 方法中加入属性控制语句,对属性值的合法性进行判断,举例来说:
- public float getScreen() {
- return screen;
- }
- public void setScreen(float screen) {
- this.screen = screen;
- }
第二节 使用包管理 JAVA 中的类
封装的类名可能冲突,用包可以解决
1. 包的作用,管理 Java 文件夹,管理同名文件冲突
2. 定义包,package 关键字
3. 系统中的包
java.(功能).(类)
java.lang. 类 包含 java 语言基础的类
java.util. 类 包含 java 与语言中的各种工具类
java.io. 类 包含输入输出相关功能类
4. 包的使用
import 使用关键字可以在某个文件中使用其他文件中的类,全部都是小写
import com.imooc.music.Myclass;
import com.* 是包下所有的类
第三节 JAVA 中的访问修饰符
修饰我们属性和方法的访问范围
private 本类
默认 本类 同包
protected 本类 同包 子类
public 本类 同包 子类 其他
第四节 JAVA 中的 this 关键字
1.this 关键字代表当前对象,this. 属性代表当前对象的属性,this. 方法代表当前对象的方法
2. 封装对象属性的时候经常会用到 this 关键字,例如 this.a=a;
第五节 什么是 JAVA 中的内部类
1. 什么是内部类:
内部类是定义在另一个类里面,与之对应,包含内部类的类被称为外部类。
2. 为什么要将一个类定义在另一个类里,清清爽爽独立不好吗?
内部类的主要作用是:
内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中其他类访问该类。
内部类中的方法可以直接访问外部类的所有数据,包括私有数据
内部类所实现的功能使用外部类同样可以实现,是有时使用内部类会更加方便。
3. 内部类有几种:
成员内部类;静态内部类;方法内部类和匿名内部类
内部类其实也是外部类的一个成员,只不过这个成员类型是一个类,调用时要先实现外部类,然后才能找到该类下的内部类实现。例:
- public class HelloWorld{
- public class Inner{
- 方法show();
- }
- main函数{
- HelloWorld h=new HelloWorld();
- Inner i=h.new Inner();
- i show;
- }
- }
定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,也就是:内部类 对象名 = 外部类对象. new 内部类 ();
第六节 JAVA 中的成员内部类
内部类中最常见的也就是成员内部类,即普通内部类。
成员内部类的使用方法:
1. 内部类定义在外部类的内部,相当于外部类的一个成员变量的位置,内部类可以使用任意访问修饰符,如 public private protected 等
2. 内部类中定义的方法,可以访问外部类中的数据,而不受访问修饰符的影响
3. 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,也就是:内部类 对象名 = 外部类对象. new 内部类 ();
4. 编译含内部类的程序时,会出现两个 class 文件,其中第二个是外部类的. class 文件,第一个是内部类. class 文件,成员内部类的 class 文件总是这样,外部类名 $ 内部类名. class 这是内部类. class 名字
注意:
a. 外部类不能直接使用内部类的成员和方法,可以先创建内部类对象,然后通过它们的对象来访问其成员变量和方法;
b. 如内部类和外部类具有相同的成员变量和方法,内部类默认访问自己的成员变量或方法。如果要访问外部类的成员变量,可以使用 this 关键字,外部类. this. 属性。如:
第七节 JAVA 中的静态内部类
静态内部类是 static 修饰的内部类,这种内部类的特点是:
1、静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类 (). 成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过 "类名. 静态成员" 访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过 "成员名" 直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名 = new 内部类 ();
运行结果,访问外部类中的 b:1
访问内部类中的 b:2
第八节 JAVA 中的方法内部类
方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
注意:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
希望本文所述可以对需要的朋友有些帮助
来源: http://www.phperz.com/article/17/1223/357649.html