9.封装

1、为何要使用封装:

1、保护属性;2、开一个出口以供使用
2、什么是封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
封装的两个大致原则:
①把所有的属性藏起来;
②把尽可能多的东西藏起来,对外提供便捷的接口。

2.如何使用封装

1、掌握实现封装的步骤
①修改属性的可见性,设为private
②创建公有的gettertter方法,用于属性的读写 (setter属性赋值以及操作/getter属性取值)
③在gettertter方法中加入属性控制语句,对属性值的合法性进行判断

对于基本类型的boolean,Getter方法要写成isxxx的形式,setter不变

3.使用访问修饰符

访问修饰符:
public: 公共的;全工程可见
protected:子类继承的时候使用;包级私有+子类
默认:包级私有,当前类所在的包中可见
private:私有的,只有自己可见
在这里插入图片描述

4. static关键字

当用static修饰属性的时候,称之为静态变量或者类变量,没有用static修饰的属性称之为实例变量;
当用static修饰方法的时候,称之为静态方法或者类方法,没有用static修饰的属性称之为实例方法;

4.1、掌握static的使用,(类名+“.”调用)
static的作用:实现数据共享
static的使用:
1、static修饰属性:全类共用一个存储空间
普通属性:一个对象用一个存储空间

4.2类变量和实例变量的区别:
三方面区别:写法上的区别,调用的区别,内存上的区别
类变量(静态变量)
1、被static修饰的变量
2、类内部,可在任何方法内直接访问静态变量
其他类中,可以直接通过类名访问
3、在内存中只有一个拷贝
实例变量
1、没有被static修饰的变量
2、通过实例访问
3、每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响
通过

4.3普通方法可以看到静态属性,静态方法看不到普通属性,普通方法可以直接调用静态方法
在不同的类中,可以用类名.方法名()来调用静态方法,往往用来做工具

静态变量必须是成员变量,是从属于类的,所以不可以放在方法中

4.4 static修饰方法:可以通过类名.方法名()调用

实例方法–通过实例访问
可以直接访问实例变量、实例方法、静态变量,静态方法

静态方法–类名+“.”访问
不能直接访问实例变量和实例方法
可直接访问类的静态变量和静态方法
静态方法中不能使用this和super

5.例题分析

在这里插入图片描述
get/set的快捷键是alt+insert