黑马程序员--理解JAVA面向对象
来源:互联网 发布:好看的水杯知乎 编辑:程序博客网 时间:2024/05/16 01:32
对象就是程序里的一些东西, 例如StringBuffer, 它们实现了某些我们需要的功能, 例如append()和reverse()
当我们需要某个功能时就可以使用这样的对象来帮我们完成, 例如需要存储若干数据, 需要反转数据的排列
例如我们想将一段字符串发送到别人的电脑上, 那么找到一个可以发送数据到其他电脑的对象, 调用这个对象的方法即可
2.面向对象编程
它是一种编程思想, 使用对象编程
理解ComputerDemo.java
/*电脑:属性: 名字, 主板功能: 开机主板:属性: 名字功能: 运行*/class ComputerDemo {public static void main(String[] args) {MainBoard mb = new MainBoard();// 创建了一个主板对象mb.name = "华硕主板";// 给主板起名Computer c = new Computer();// 创建了一个电脑对象c.name = "ThinkPad T420s";// 给电脑起名c.mainBoard = mb;// 给电脑装主板c.turnOn();// 电脑开机}}class Computer {// 定义一个类, 代表电脑String name;// 电脑的名字MainBoard mainBoard;// 电脑的主板void turnOn() {// 开机if (mainBoard == null)System.out.println("主板没有安装, 不能开机");else {mainBoard.run();System.out.println(name + " 开机成功");}}}class MainBoard {// 定义一个类, 代表主板String name;// 主板的名字void run() {// 运行System.out.println(name + " 开始运行");}}
3.什么是类
对象是由类创建出来的, 类是对对象的描述, 它描述了对象是什么样的, 例如对象都有什么功能, 这必须在类中预先定义好
4.定义类
使用class关键字加上类名定义一个类
在类中用成员变量描述对象的特征
在类中用成员方法描述对象的功能
5.创建对象
使用new关键字加上类名创建一个对象
使用"对象.成员名"的方式访问一个类的成员
6.对象创建的过程
Person p = new Person(); 这行代码都干了什么?
栈内存中会创建一个变量p, p将记住一个对象的地址
new Person()时先在内存中查找Person.class, 如果内存中没有这个class就从硬盘加载, 如果有则直接调用
找到类之后, 使用这个类创建一个对象, 将成员变量初始化, 基本数据类型是0, 引用数据类型是null
p变量就是记住这个对象在内存中的地址
7.对象的生命周期
对象在new关键字创建的时候生命周期开始
如果一个对象没有任何引用可以到达, 那么就无法访问这个对象了, 这时对象就成为了垃圾, 生命周期结束
8.匿名对象
------- android培训、java培训、期待与您交流! ----------如果一个对象只使用一次, 那么就可以不用任何变量引用它, 用完一次之后生命周期就结束了, 不能再次使用
- 黑马程序员--理解JAVA面向对象
- 黑马程序员--java面向对象的理解
- 黑马程序员--Java面向对象理解
- 黑马程序员java学习日记九 面向对象的理解
- 黑马程序员--Java入门之面向对象的理解
- 黑马程序员 java面向对象
- “黑马程序员”-Java面向对象
- 黑马程序员--java面向对象
- 黑马程序员---面向对象【java】
- 黑马程序员-------Java面向对象
- 黑马程序员--java面向对象
- 黑马程序员-java面向对象
- 黑马程序员------JAVA面向对象
- 黑马程序员:java面向对象
- 黑马程序员-----JAVA面向对象
- 黑马程序员 java面向对象
- 黑马程序员-Java面向对象
- 黑马程序员 Java面向对象
- 获取Root权限,让你玩转安卓
- 高水位(High Water Mark)的概念及高水位问题的解决
- Android系统文件夹目录大剖析
- hdu catch the thief
- Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交
- 黑马程序员--理解JAVA面向对象
- 安卓手机玩家须知,三大手机芯片厂商处理器比较
- Codeforces Round #135 (Div. 2)
- 求子数组的最大和:算法求验证
- mousemove,scroll,resize性能优化
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第0篇)
- 电商顾客满意的五大决定因素
- 使用javassist动态注入代码
- C/C++笔试题目大全