面向对象概述:面向对象并不是一个技术,而是一种编程思想,强调以什么形式写代码,以什么思路解决问题
类和对象
类:对一类具有共同属性和行为事物的描述,可以理解为对象的设计图
对象:根据类创建出来的实体
类的组成:
属性:对象具有的各种特征 -> 成员变量(类中方法外的变量)
行为:对象能够执行的操作 -> 成员方法(和前面的方法相比去掉static关键字即可)
创建对象:
类名 对象名 = new 类名();
对象内存图
Java内存分配
栈:方法进栈,局部变量跟随方法进栈
堆:所有new出来的东西进堆,开辟空间产生地址值
该地址在使用完毕后,在系统空闲时间会被Java垃圾回收器清理
成员变量和局部变量的区别
封装
private关键字
概述:private是一个权限修饰符
作用:可以修饰成员(成员变量和成员方法),被private修饰的成员,只能在本类中进行访问(外界不能直接访问),针对被private修饰的成员边框,会提供对应的get和set方法
this关键字
this:代表本类对象,可以调用本类的成员
作用:解决局部变量和成员变量重名的问题
Java遵循就近原则
概念:
构造方法
格式:public 方法名(){
}
作用:创建对象
注意事项:
- 方法名必须和类名一致
- 每new一次对象,自动执行一次空参构造
- 带参构造的本质:创建对象的同时完成赋值
- 如果我们不提供构造,系统提供一个默认的空参构造;如果我们提供了带参构造,系统就不会给出空参构造
- 空参和带参构造都写出来,java允许方法重载
标准的JavaBean
- 成员变量:必须私有
- 构造方法:提供俩种
- 成员方法:针对私有的成员变量提供set和get方法,根据题目提供其他成员方法