面向对象基础
类和对象
类
组成
属性
对象的特征,每个属性都有值。
比如自己的名字
在类中通过成员变量来体现
行为
能够执行的操作
比如我吃饭
在类中通过方法来体现
特点
类是属性和行为为一组的集合
类是对象的数据类型
对象
万物皆对象,客观存在皆为对象
两者之间的关系
类
对事物共同属性和行为的抽象
手机设计图
对象
真实存在
手机
对象内存图
举例:Student s=new Student()
1.Student s先进栈
2.new Student()在堆中开辟空间
3.=把堆里面开辟空间的地址基于给s
举例:s.study()
1.先是study()先进栈
2.再是找到调用者s
3.使用方法后消失
成员变量和局部变量
成员变量
类中方法外的变量
局部变量
方法中的变量
形参
区别:
类中位置不同
成:类中方法外
局:方法内中或者方法声明上
内存位置不同
成:堆
局:栈
生命周期不同
成:与对象共生死
局:与方法共生死
初始化不同
成:默认初始化
局:必须先定义赋值,才能使用
理解
想一想他们在内存的使用过程,便理解了。
封装
private
作用
权限修饰符
可以修饰成员变量,成员方法
保护成员不被别的类使用,private修饰的成员只能在本类访问
相应操作
对于成员变量
set方法(参数)用public修饰
get方法()用public修饰
this
作用
this修饰的成员变量用于指代成员变量
注意
方法的形参没有与成员变量同名,不带this修饰的变量是指的是成员变量
方法的形参如果与成员变量同名,不带this修饰的变量是指的形参,而不是成员变量
解决局部变量隐藏成员变量
this:代表所在类的对象引用
这个this就是生成的堆的那个的地址,而且在测试类中
例子:s.study()
那么this就是指s的地址