blog_id = 3161834
login_uid =
author_uid = 4095240
is_check= true
isRecommend= false
oscer=
is_red = false
原创
2020/01/28 22:39
阅读数 353
一.成员变量和局部变量(区别)
(1) 成员变量:直接定义在类{}里 作用范围:只是在类的内部使用 局部变量:定义在某个方法内部 作用范围:仅当前方法内部 特殊:方法参数 (2) 如果成员变量和局部变量名称一致,使用时根据“就近原则”,优先使用局部变量 如果需要强制使用成员变量: this.变量名 (3)区别: (成员 外 默认) 类定义位置:①局部变量方法内 ②成员变量方法外 作用范围:①局部变量仅在当前方法的内部能用 ②成员变量可以在当前类内部的任意方法中使用 初始值:①局部变量没有默认值 ②成员变量有默认值 内存位置:①局部变量在栈内存 ②成员变量在堆内存 生命周期:①局部变量(出生:方法被调用 销毁:方法执行结束) ②成员变量(出生:new创建对象 销毁:对象被销毁) |
案例1:
![](https://oscimg.oschina.net/oscnet/up-b2ee818c6d47b449bfd235b99cecd00b10f.png)
案例2:
![](https://oscimg.oschina.net/oscnet/up-3e575fd9a39051d237a29c22a021cb010df.png)
小总结:
局部变量:栈内存, 方法执行结束,销毁 成员变量:堆内存, 一个对象一个成员变量,多个对象的成员变量没有任何关系 static成员变量:方法区, 一个类一个变量,不会重复创建,多个对象共享一个静态成员变量 static特点:共享 |
二.封装思想
说明: 面向对象:拿来即用 三大特征:封装、继承、多态 封装在Java类中的体现: ① private的成员变量【小金库】 ②每个private成员都有get/set方法 【金库管理员,获取/放置】 |
三.类与对象关系
(1)说明
类: 设计图纸 对象:根据图纸制造 产品 ![](https://oscimg.oschina.net/oscnet/up-b0748cd63c84f217ddc8355d48372815d1d.png)
|
(2)一个类可以有多个对象; (无限) (一张图纸,可以生产出多个产品)
![](https://oscimg.oschina.net/oscnet/up-b38570772ba76e78dd663550ba659ab1074.png)
![](https://oscimg.oschina.net/oscnet/up-ca85a373112702ce7228abbb419d2110772.png)
请给努力中的自己点个赞哦!
每天进步一点点`~~~~~
展开阅读全文