黑马程序员技术交流社区
标题: JAVAEE8期基础班07 [打印本页]
作者: wuwangshan 时间: 2018-1-22 21:41
标题: JAVAEE8期基础班07
面向对象
面向对象思想:
面向对象是基于面向过程的编程思想
面向过程:强调的是一个功能的步骤
面向对象:强调的是对象;然后对象去调用功能;
面向对象的思想特点:
是一种更符合我们的思考习惯的思想
可以将复杂的事情简单化
将我们从执行者编程了指挥者
举例:
买电脑:
面向过程: 自己一步一步的去买的过程 ;结果我有了电脑
面向思想: 就是让别人去买; 结果我有了电脑
洗衣服:
面向过程: 就是自己一步一步的洗衣服:
面向对象: 让洗衣机洗;
我们是如何表示现实世界的食物的呢?
A 属性: 就是食物的描述信息
B 行为 就是食物能够做什么
Java 语言基本的单位是类,
类是一组相关的属性和行为的集合
类的定义:
类是用来描述现实世界的事物的
事物:
属性: 事物的描述信息
行为 是无能做什么呢
类:
成员变量:
成员方法
需求:写一个学生类
分析:
学生事物
属性: 姓名 年龄
行为: 学习,吃饭
学生类
成员变量: 姓名 年龄
成员方法: 学习 吃饭
成员变量:类中,方法外,不需要给初始化值,有默认值
成员方法: 去掉static关键字
如何创建对象
格式: 类名 对象名 = new 类名();
如何访问成员呢?
成员变量: 对象名.变量名
成员方法: 对象名.方法名();
成员变量 和 局部变量的区别:
A: 在类中的位置不同
成员变量: 类中 方法外
局部变量: 方法中或者方法声明上
B: 在内存中的位置不同
成员变量 堆内存
局部变量 栈内存
C: 生命周期不同
成员变量 随着对象的创建而存在,随着对象的消失而消失
局部变量 随着方法的调用而存在,随着方法的调用完毕而消失
D: 初始化的问题
成员变量: 有默认值
局部变量: 没有默认值 必须先定义 赋值 最后使用
Private关键字
private是一个权限修饰符
可以修饰成员变量,也可以修饰成员方法
被private修饰的成员只能在本类中被访问
针对private修饰的成员变量 我们会相应的提供getXxxx()和setXxxx用于获取和设置成员变量的值,方法用public修饰
封装:
This关键字
起名字我们要做到见名知意
而我们现在的代码中n和a就没有做到见名知意,所以我们要改进
如果有局部变量名和成员变量名相同,在局部使用的时候,采用的是就近原则
用this 就能解决问题
This.name = name;
This的作用: 代表所在的当前对象的引用
方法被哪个对象引用就代表哪个
构造方法
通过new关键字调用构造方法
格式: 类名 对象名 = new 构造方法(.....)
方法名和类名相同
没有返回值类型 连void都没有
没有具体的返回值
注意事项:
A:如果我们没有给出构造方法,系统会提供一个默认的无参构造方法供我们使用
B:如果我们给出了构造方法 系统将不在提供默认的无参构造方法供我们使用
这个时候 如果我们想使用无参构造方法,就必须自己写一个
建议自己写一个
C: 构造方法也可以重载
成员变量赋值
A:set Xxxx()方法
B: 带参构造方法
作者: 陈文老师 时间: 2018-1-23 09:05
总结完美!!!没毛病
作者: 1414225997 时间: 2018-1-23 14:21
哇
作者: 渝小妹 时间: 2018-1-25 09:02
学无止境 路还很长 加油哦
作者: xiongliu 时间: 2018-1-26 15:08
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |