共计 1097 个字符,预计需要花费 3 分钟才能阅读完成。
第八天
对象的应用
类的成员变量分为:类变量(又称动态变量,被 static 润饰的变量)和实例变量(不被 static 润饰的变量),另外,定义在函数外部的 量称为局部变量,仅在函数外部无效。
成员办法分为:类办法(又称静态方法,被 static 润饰的办法)和实例办法(不被 static 润饰的办法)。
局部变量和成员变量的区别
1 . 在类中的地位不同:
成员变量:在类中办法外定义的变量
局部变量:在办法定义中或者办法申明上的变量
2 . 在内存中的地位也不同
成员变量: 在堆内存中
局部变量: 在栈内存中
3 . 生命周期不同
成员变量:着对象的创立而存在, 随着对象的回收而隐没
局部变量:着办法调用而存在, 随着办法的调用结束而隐没
4 . 初始化不同
成员变量: 跟对象相干的, 形容一个对象的属性 (成员变量存在一个零碎默认初始化), 当然也能够间接赋值
局部变量:应用之前, 必须初始化, 否则编译不通过
注意事项:当成员变量名称和局部变量名称统一, 通过成员办法拜访变量名称的时候, 采纳就近准则,部分地位没有, 成员地位找
形式参数是援用数据类型的参数传递
根本类型作为办法的形式参数, 形式参数的扭转不会影响理论参数
援用类型作为办法的形式参数, 形式参数的扭转会间接影响理论参数,援用数据类型是一个具体的类 , 理论参数传递的时候, 须要传递该类的地址值援用
匿名对象
就是没有名字的对象
格局:new 类名 ();
匿名对象利用场景:
1)理论开发中, 仅应用一次即可!
匿名对象间接在堆内存开拓空间, 应用结束, 立刻从内存中开释调用
2) 应用匿名对象的时候, 能够链式编程(开发中不倡议应用这种形式)
new 类名 1(). 办法名 1(new 类名 2()) ;
private 关键字
private 关键字特点
private: 公有的, 无奈被拜访的
被 private 润饰的成员变量, 成员办法, 只能在本类中拜访, 外界不能间接拜访!
能够润饰成员变量, 变量不能间接拜访, 然而能够间接的通过公共办法拜访
对类的封装
将以后类的属性私有化(将成员变量暗藏掉, 保证数据的安全性), 对外提供公共拜访办法!
封装
个别状况: 定义一个类 (可能形容一个事物的)
将成员变量 —-> 对应事物的属性 私有化, 全副都有 private 关键字润饰
提供一些对应公共的成员办法:
public void setXXX()给成员变量赋值
public 返回值类型 getXXX(): 获取成员变量的值
t’his 关键字
代表以后类的地址值援用
规范类的写法
成员变量私有化
提供 setxxx()/getXXX()
提供无参构造方法 / 有参构造方法
创建对象, 测试 : 通过 setXXX 办法给成员变量赋值 , 通过有参构造方法赋值
给成员变量赋值有二种形式
setXXX()/getXXX()
有参构造方法