Loading... ## 封装 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 好处: 1. 将变化隔离。 2. 便于使用。 3. 提高重用性。 4. 提高安全性。 封装原则: 1. 将不需要对外提供的内容都隐藏起来。 2. 把属性都隐藏,提供公共方法对其访问。如,getXXX,setXXX。 示例: ```java /** 人: 属性:年龄 行为:说话 */ class Person{ //private:私有,是一个权限修饰符,用于修饰 //不希望别人直接访问赋值,需要通过私有化把属性进行隐藏 private int age ; //通过提供set、get公共方法对其访问 public void setAge( int a){ //在set方法内可以对属性的赋值进行限制 if (a > 0 && a < 130){ age = a; } else System.out .println("错误的数据" ); } public int getAge(){ return age ; } void speak(){ System.out .println("age = " + age); } } class test{ public static void main(String[] args){ Person p = new Person(); //通过其他方式访问 p.setAge(20); p.speak(); //赋值不合法,set方法就不允许成功赋值 p.setAge(-20); } } ``` 运行结果: ```java age = 20 错误的数据 ``` 注意事项: - 私有仅仅是封装的一种体现而已。 - private关键字:是一个权限修饰符,用于修饰成员(成员变量和成员函数),被私有化的成员只在本类中有效。 - 常用场景之一:将成员变量私有化,对外提供对应的set、get方法对其进行访问,提高对数据访问的安全性。 # package、import 和 import static ## package 语句 - 作用:把一个类放在指定的包结构下 - 包命名规则:域名倒写.模块名.组件名 - 语法格式 ```java // package 包名.子包名.子子包; // 必须把该语句作为 Java 文件中的第一条非注释性语句 package com.example.hello; ``` - 编译命令:javac -d . PackageDemo.java // 表示在当前路径下先生成**与包名层次相应的文件结构**,再在包下生成字节码文件(如果编译 Java 文件时不使用 -d 选项,编译器不会为 Java 源文件生成相应的文件结构) - 运行命令:java com.example.hello.PackageDemo - Java 的常用包 - java.lang:Java 语言的核心类,如 String、Math、System 和 Thread 类等 - java. util:Java 的大量工具类/接口和集合框架类/接口,如 Arrays 和 List、Set 等 - java. net:Java 网络编程相关的类/接口 - java.io:Java 输入/输出编程相关的类/接口 - java. text:Java 格式化相关的类 - java.sql:Java 进行 JDBC 数据库编程的相关类/接口 - java. awt:抽象窗口工具集的相关类/接口,用于构建图形用户界面(GUI)程序 - java.swing:Swing 图形用户界面编程的相关类/接口,用于构建平台无关的 GUI 程序 ## import 语句 - 类的全限定名:包名.类名 java.util.Arrays - 在一个类中使用**非同包**的类和**非 java.lang 包**下的类,要使用类的全限定名 - 使用 import 可以**省略写包名**;而使用 import static 则可以连类名都省略 - import 语句应该出现在 package 语句(如果有的话)之后、类定义之前 - 导入指定包下某个类或全部类 ``` import java.util.Arrays; // 导入 java.util 包下的 Arrays 类 import java.util.*; // 导入 java.util 包下所有被当前类使用到的类 ``` - 注意:Java 默认为所有源文件导入 **java.lang 包**下的所有类,但**不包括**其子包下的类 - 导入指定类中的 `static` 成员(语法糖),但无法导入与 java.lang.Object 类中的方法名相同的方法,如 toString,equals ```java // import static 类的全限定名.该类中的 static 成员名; import static java.util.Arrays.sort; import static java.util.Arrays.*; ``` 最后修改:2022 年 08 月 02 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏