文章目录
1. 封装概述
封装概述
•是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:
•隐藏实现细节,提供公共的访问方式
•提高了代码的复用性
•提高安全性。
封装原则:
•将不需要对外提供的内容都隐藏起来。
•把属性隐藏,提供公共方法对其访问。
2. private关键词
private(私有化的)关键字:
•是一个权限修饰符。
•可以修饰成员(成员变量和成员方法)
•被private修饰的成员只在本类中才能访问。
private最常见的应用:
•把成员变量用private修饰
•提供对应的getXxx()/setXxx()方法
•一个标准的案例的使用
this关键字
this(这,这个):代表所在类的对象引用
•方法被哪个对象调用,this就代表那个对象
什么时候使用this呢?
•局部变量隐藏成员变量
•其他用法后面和super一起讲解
3. static关键词
可以修饰成员变量和成员方法
static(静态的)关键字特点
•随着类的加载而加载
•优先于对象存在
•被类的所有对象共享
•这也是我们判断是否使用静态关键字的条件
•可以通过类名调用
static关键字注意事项
•在静态方法中是没有this关键字的
•静态方法只能访问静态的成员变量和静态的成员方法
3.1 静态变量和成员变量的区别
1.所属不同
•静态变量属于类,所以也称为为类变量
•成员变量属于对象,所以也称为实例变量(对象变量)
2.内存中位置不同
•静态变量存储于方法区的静态区
•成员变量存储于堆内存
3.内存出现时间不同
•静态变量随着类的加载而加载,随着类的消失而消失
•成员变量随着对象的创建而存在,随着对象的消失而消失
4.调用不同
•静态变量可以通过类名调用,也可以通过对象调用
•成员变量只能通过对象名调用
4. main方法
public static void main(String[] args) {}
•public 被jvm调用,访问权限足够大。
•static 被jvm调用,不用创建对象,直接类名访问
•void被jvm调用,不需要给jvm返回值
•main 一个通用的名称,虽然不是关键字,但是被jvm识别
•String[] args 以前用于接收键盘录入的
5. 构造方法
构造方法作用概述
•给对象的数据进行初始化
构造函数格式
•方法名与类名相同
•没有返回值类型,连void都没有
•没有具体的返回值
无参构造函数:
public 类名 (){
}
构造方法注意事项
•如果你不提供构造方法,系统会给出默认构造方法
•如果你提供了构造方法,系统将不再提供
•构造方法也是可以重载的
6. 类的成员方法
成员方法其实就是我们前面讲过的方法
方法具体划分:
•根据返回值
•有明确返回值方法
•返回void类型的方法
•根据形式参数
•无参方法
•带参方法
7. 一个基本类的标准代码写法
类
•私有化成员变量
•构造方法
•无参构造方法
•带参构造方法
•公开成员方法
•getXxx()
•setXxx()
7.1 给成员变量赋值的方式
无参构造方法+setXxx()
带参构造方法(赋值)
8. 类的初始化过程
stdent s = new Student();在内存中做了哪些事情?
•加载Student.class文件进内存
•在栈内存为s开辟空间
•在堆内存为学生对象开辟空间
•对学生对象的成员变量进行默认初始化
•对学生对象的成员变量进行显示初始化
•通过构造方法对学生对象的成员变量赋值
•学生对象初始化完毕,把对象地址赋值给s变量
new Student();在内存中做了哪些事情?**
•加载Student.class文件进内存
•在栈内存为s开辟空间
•在堆内存为学生对象开辟空间
•对学生对象的成员变量进行默认初始化
•对学生对象的成员变量进行显示初始化
•通过构造方法对学生对象的成员变量赋值
•学生对象初始化完毕,把对象地址赋值给s变量