小白学JAVA《九》--- 类的高级概念

访问修饰符
1.private 私有
该类外部的方法是无法访问该组件的
2.defacat 本包–家人
跟类同一个包下面的类都可以访问
3.protected 受保护的–亲人
同包类和其他包中的子类,都可以访问
4.public 公共的
任何包中的类,都可以访问

![这里写图片描述](https://img-blog.csdn.net/20180905174147418?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dfYW5ncGVuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)



5.确定访问范围
6.作用
    限制属性和方法被使用和调用的范围,指明了类的数据成员和方法的能够被访问的程度

封装
一、组装

1.属性
(1)变量属性
(2)常量熟悉
final
2.行为
二、隐藏
1.访问修饰符
2.方法的体现
三、优点
1.类的成员变量通过访问器和修改器进行控制,可以成为只读或者只写,不再是外部可以任意操作
2.类可以通过对方法的控制。完成对成员变量中的内容有一个整体的控制
3.类的用户不需要知道类是如何存储数据的
类可以改变一个成员变量的数据类型,而类的用户不需要改变其代码
四、用于组装类的属性和行为。并且通过访问修饰符以及方法的包装来隐藏类的成员的方式
五、是OOP四大特征之一

static
1.修饰的全局变量叫静态变量,也叫类变量,类变量的值为所有对象所共享,经过static修饰的全局变量,已经和对象无关,直接上升的类的变量。数据已经不存在每个单独的对象身上,而是存在方法区中的数据块的静态区域中。非静态成员变量必须要等到实例化对象后才可以调用。而静态成员变量在类加载完成后可以直接调用。
2.修饰的方法叫静态方法,也叫类方法,类方法只能使用静态变量,而不能使用非静态的全局变量。封装工具类的工具方法时使用。跟类变量一样,同样与对象已经无关,直接上升为类行为,非静态方法,必须要等到实例化对象后采用调用。而静态方法,在类加载后可以直接调用。
3.static修饰的内容存在于内存的时机是:类加载的时候
4.可选的修饰符
5.static在修饰全局变量时一般用于修饰常量,主要目地是节约堆内存,将变量定义在静态区域中,而不是每个对象的自身
6.在修饰方法时,一般用于修饰工具类的工具方法,比如:Math类,Arrays类,StringUtils类,包括超级数组
7.修饰的静态方法中,不能访问非静态成员(属性,还有方法),其原因是
(1).静态方法在加载时,非静态属性,方法压根就还没有调用
(2).假设可以调用,那么如果存在成千上万的对象,不清楚调用的对象行为及属性
8.static无法修饰构造函数,因为其修饰的属性或行为都与对象无关,但是构造是专门产生对象的

初始化块
一、语句块放在类的熟悉之下,构造之上
二、实例初始化块语句块只有一个花括号:{ }
1.主要用于初始成员变量。一般是对象实例化时,才会执行,并且是实例一次,执行一次。它执行在构造函数执行代码的第3布到第4部之间。
2.可以使用有参构造,替代实例初始化块
三、静态初始化块语句块在前面加上static{ }
1.在程序加载的时候只执行一次
2.主要用于在类加载时,做一些前期的准备工作,比如:检查数据库是否连接正常,检查配置文件是否存在,或者提前读取某些文件内容到内存中来……

猜你喜欢

转载自blog.csdn.net/W_angpeng/article/details/82427871