黑马程序员_面向对象之封装
2015-08-24 16:49
337 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流------
面向对象思想面向过程:关注的是步骤和过程
面向对象:关注的是对象
面向对象是基于面向过程的
面向对象的特点:
a: 是一种更符合人们思考习惯的思想
b: 把复杂的事情简单化了
c: 从执行者变成指挥者
类与对象以及引用
事物 类
属性 成员变量
行为 成员方法
属性: 就是事物的描述信息
行为: 就是该事物可以做到事情
成员变量: 和之前定义变量一样,只不过位置不同. 在类中方法外
成员方法: 和之前定义方法一样,只不过去掉static
类: 就是一组相关属性和行为的集合,是一个抽象的东西
对象: 就是该类的一个具体体现
使用类:
创建对象: 格式:
类名 对象名 = new 类名();
访问成员变量的格式:
对象名.变量名 ;
访问成员方法的格式:
对象名.方法名(...)
局部变量和成员变量的区别
a: 在类中的位置不同
局部变量: 方法定义中或者方法声明上的变量
成员变量: 在类中方法外
b: 在内存中的位置不同
局部变量: 在栈内存
成员变量: 在堆内存
c: 生命周期不同:
局部变量: 随着方法的调用而产生,随着方法的消失而消失
成员变量: 随着对象的创建而产生,随着对象的消失而消失
d: 默认值的问题:
成员变量: 有默认值(系统给定)
局部变量: 没有默认值,必须先赋值,然后在使用
变量的访问注意事项:
a: 局部变量可以和成员变量的名称一致
b: 变量在访问的时候遵循"就近原则"
java语言的参数传递问题
基本数据类型参数传递,形式参数的改变对实际参数没有影响
引用数据类型的参数传递,形式参数的改变对实际参数是有直接影响的
java语言中只有值传递 ,没有址传递.
一个方法上如果形式参数是类类型的变量,我们如何调用?
如果以后看到某一个方法上的形式参数是一个类类型的变量,那么在调用的时候需要传递一个该类的对象
匿名对象
匿名对象: 没有名字的对象
Student s = new Student();
// 匿名对象
new Student();
作用:
a: 调用方法,仅仅调用一次
b: 作为参数传递
封装(private)
封装的思想:
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装好处
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。
封装原则
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
private特点:
a: private是一个修饰符
b: private可以修饰成员变量也可以修饰成员方法
c: 被private修饰的成员只能在本类中使用
运用private练习:
***********重点掌握**************
this关键字
this关键字: 代表的是本类对象的一个引用,谁调用我方法中的this就代表谁.
this存在的解决的问题:
就是局部变量隐藏了成员变量的时候,我们可以通过this来明确访问的是成员变量
相关文章推荐
- 黑马程序员——线程Thread二(线程安全)
- 黑马程序员_面向对象之构造方法
- 黑马程序员——java基础—反射
- 机器学习算法面试—口述(1):SVM介绍及常见问题
- 剑指offer面试题23-从上往下打印二叉树
- 黑马程序员_面向对象之继承
- 剑指offer面试题21-包含min函数的栈
- 【面试题之算法部分】LCA最近公共祖先
- 黑马程序员_面向对象之多态
- 黑马程序员-------Java笔记--------多线程基础练习2题
- 剑指offer面试题20-顺时针打印矩阵
- 10个有关String的面试问题
- 黑马程序员_集合之Collection接口
- 代码面试最常用的10大算法
- 关于hibernate中一对一和一对多的之中的误区整理
- 程序员的鄙视链
- 黑马程序员_Collection集合之List
- 【面试题之算法部分】二叉树的遍历
- 黑马程序员_Collection集合之Set
- java面试笔记