封装
面向对象的三大特性:
- 封装
- 继承
- 多态
目标:
1:掌握封装的使用
2:掌握包组织结构
3:掌握Java里的访问权限修饰符
4:掌握static关键字
封装的使用
封装的作用
封装在学习类和对象的时候遇到了,当时遇到的是半成品的封装。当时的要求是发现类的行为和类的属性。
private修饰之后,意味着属性只能被当前类使用
另外一半封装的概念,将一些不安全的信息进行封装,然后将一些可以直接被我们使用的部分开放出来。(提升安全性和可用性,有面向借口编程的思想。)
使用步骤:未来这些类组件都应该采用封装来进行信息保护
- 属性私有化(private)
- 提供公共的getter(getXX())和setter(setXX())方法
- 根据需求在getter和setter方法中添加逻辑判断
一般的Javabean的规范
Javabean指的就是我们那些对象类。
规范:
- 属性私有化
- 提供公共的getter和setter方法
- 提供无参构造
- 实现序列化借口(序列化其实就是我们的对象在流质检进行转换的一种概念)
封装的优势
未来开发的系统应该非常接近于高内聚、松耦合。
1.便于使用者正确使用系统,防止错误修改属性
2.有助于系统间的松耦合,提高系统独立性
3.提高软件的可重用性
4.降低了构建大型系统的风险
包组织结构
package从学习变量开始就要学会创建了。
作用就是用于对源代码进行分包等管理,方便我们开发和阅读。另外也在一定程度上解决同一个文件夹下无法出现同名文件的问题。
规范:要求包名里面出现的名字全部小写
公司域名的倒叙+应用程序名+部门名称+所属的功能模块
导包
在我们使用类的时候:
1:如果是在同一个包中使用某个类,那么直接可以进行使用。
2:如果是在不同的保重使用某个类,那么必须先进行导包(import)
因为不在一个包中,JVM也不知道去哪去找你要的这个类。import就是告诉了在哪
3:如果用的是java.lang包下的内容的话,就不需要导包,例如:System。
包声明语法:package 包地址;
导包的语法import 类的全限定名
如果需要用到java.util包中的很多内容:那么可以直接import java.util.*;
快捷键:ctrl+shift+o;
Java中的访问权限修饰符
访问修饰符在类的语法和方法的语法上遇到了。例如:
-
public
-
private
-
[package/default ]当你不写访问修饰符时,代表的就是包级别的访问。
-
protected
访问修饰符不仅可以修饰属性、还可以修饰方法
在一个类文件中,被public修饰的类必须和文件名相同。
static关键字
static在第一个语法的时候就遇到了。如果被static修饰的方法,在调用非static修饰的方法时,必须先创建对象才能使用。
static表示静态的,被他修饰的信息要和JVM运行时的数据区-方法区打交道。
他可以修饰:
- 类
- 属性:类属性/类变量/静态变量 可以通过类名直接调用
- 方法:类方法/静态方法 可以通过类名直接调用
- 代码块:静态代码块
为了在某种时机下执行的一段代码
静态代码块只会执行一次,在类加载的时候执行。
构造代码块会随着对象创建而执行,优先于构造方法执行。
注意事项:
static修饰的信息都是属于类的信息,他们会随着类的加载而进行初始化。
int num;
public static void method1(){
// method2(); // 当method1加载时method2还没有初始化,所以我们才会先创建对象再去使用
sout(num);
}
public coid method2(){
method1(); // method1已经在类加载的时候 加载完了 所以可以正常使用
}
static修饰的信息是可以被类的所有对象共享的