补充:
1、数据(成员变量)私有化(private),行为(方法)公开化(public)
2、getter()和setter():行业标准
3、标准JavaBean的规范:
①成员变量私有,同时提供对应的公开的getter()、setter()方法
②包含一个公开的无参的构造方法
4、设计getter()、setter()原因:
①很多框架的配置操作都是基于getter()、setter(),没有就获取不到数据,可以理解为行业标准
②可以更好的保证数据的合法性(因为方法中可以做条件控制)
③getter()、setter()可以选择性存在(只有getter()--只读、setter()--只写)
5、接口中成员的默认权限public,重写方法时要求访问权限大于或等于超类的
6、成员变量分两种:静态变量和实例变量的区别((面试题)
①实例变量:没有static修饰;属于对象的;存储在堆中;有几个对象就有几个存在堆中;通过引用/对象打点访问(访问方式)
②静态变量:有static修饰;属于类的;存储在方法区中;只有一份;通过类名打点访问(访问方式)(可以通过引用/对象打点访问但不推荐)
class Aoo{
int a;//实例变量
static int b;//静态变量
}
一、访问控制符
1、作用:保护数据的安全(隐藏数据、暴露行为),实现封装
2、设计:数据(成员变量)私有化(private),行为(方法)公开化(public)
3、修饰符共四种:
①public:公开的,任何类都可访问 √
②private:私有的,只能本类用 √
③protected:受保护的,本类、派生类、同包类使用
④默认的:什么也不写,本类、同包类使用