第四章(01)类和对象
2013-08-19 15:19
197 查看
视频地址:http://v.youku.com/v_show/id_XMjU4NzgzNzk2.html?f=5743162
类和对象关系
1:类是抽象的概念模型
2:对象时具体的实际模型
3:类和对象的创建
1:一个类可以创建多个对象
2:一个类有且只有一个对象(单态类)
方法包括方法头和方法体
方法头包括返回类型,方法名,参数列表
类可以作为返回类型,可以作为另一个类的属性,还可以作为参数传递
实例:
/**
* 作者:Tony
* 目的:旺旺老师视频示例演示
* 创建基本类,完成对类作为返回值类型示例的演示
* 日期2013.7.24
* 时间:13:37
*/
package com.qilin;
public class Automan {
String name ;
void fire(){
System.out.println("我叫" + name + "我开火");
}
}
/**
* 作者:Tony
* 目的:商店类,用来判断是否实例化Automan对象
* 日期:2013.7.24
* 时间:13:57
*/
package com.qilin;
public class Shop {
/*
* 代码分析:
* 1:创建一个方法,让返回值是Automan数据类型
* 2:根据商店的规则,当钱数可以支付Automan钱的时候才可以卖给你一个玩具。所以参数类型
* 是整数,钱
* 3:创建一个Automan对象,但必须要保证他是null。也就是创建了,但是没有实例化。
* 如果直接实例化就不用if语句来判断了。用if语句来根据钱数的变化是否慢走来确定automan是否
* 实例化
* 4:返回Automan实例
*/
Automan shopping(int money){
/*
* 创建一个Automan对象,但是设置为空。有且必须设置为空。用if条件语句来决定它是否要
* 实例化。如果满足则实例化,不满足则不实例化。
*/
Automan saidi = null ; //对象的声明部分
/*
* 用if语句来达到判断是否实例化的作用
*/
if (money>=100){
saidi = new Automan(); //对象的创建部分(堆内存)
saidi.name = "赛迪" ;
}
/*
* 返回实例化对象。如果满足了,则返回实例化对象。如果不满足,则返回的是null(空)
* 而且如果实例化之后,返回的要是已经实例化的对象。因为要的是对象而不是类
*
* 从内存分析来看。automan对象其实是先在if条件语句外面创建的,不受if条件语句控制
* 只是在栈内存中创建了一个automan对象的一个指针。堆内存中还没有实例化对象。if条件
* 语句如果成立了。则在堆内存中生成了automan的实例化对象。并且在栈内存中指定的指针
* 指向了这个堆内存的对象。当if条件语句执行完毕。堆内存和栈内存中的对象依然存在。所以
* 就不会属于垃圾,也就不会出现垃圾回收车的收集。可以对对象进行操作
*/
return saidi ;
}
}
/**
* 作者:Tony
* 目的:外甥类,视频演示类作为方法的参数
* 日期:2013.7.24
* 时间:14:06
*/
package com.qilin;
public class WaiSheng {
public String name ;
void play(Automan saidi){
System.out.println("大家好,我的名字是" + name + "我喜欢玩Automan");
saidi.fire() ;
}
}
类和对象关系
1:类是抽象的概念模型
2:对象时具体的实际模型
3:类和对象的创建
1:一个类可以创建多个对象
2:一个类有且只有一个对象(单态类)
方法包括方法头和方法体
方法头包括返回类型,方法名,参数列表
类可以作为返回类型,可以作为另一个类的属性,还可以作为参数传递
实例:
/**
* 作者:Tony
* 目的:旺旺老师视频示例演示
* 创建基本类,完成对类作为返回值类型示例的演示
* 日期2013.7.24
* 时间:13:37
*/
package com.qilin;
public class Automan {
String name ;
void fire(){
System.out.println("我叫" + name + "我开火");
}
}
/**
* 作者:Tony
* 目的:商店类,用来判断是否实例化Automan对象
* 日期:2013.7.24
* 时间:13:57
*/
package com.qilin;
public class Shop {
/*
* 代码分析:
* 1:创建一个方法,让返回值是Automan数据类型
* 2:根据商店的规则,当钱数可以支付Automan钱的时候才可以卖给你一个玩具。所以参数类型
* 是整数,钱
* 3:创建一个Automan对象,但必须要保证他是null。也就是创建了,但是没有实例化。
* 如果直接实例化就不用if语句来判断了。用if语句来根据钱数的变化是否慢走来确定automan是否
* 实例化
* 4:返回Automan实例
*/
Automan shopping(int money){
/*
* 创建一个Automan对象,但是设置为空。有且必须设置为空。用if条件语句来决定它是否要
* 实例化。如果满足则实例化,不满足则不实例化。
*/
Automan saidi = null ; //对象的声明部分
/*
* 用if语句来达到判断是否实例化的作用
*/
if (money>=100){
saidi = new Automan(); //对象的创建部分(堆内存)
saidi.name = "赛迪" ;
}
/*
* 返回实例化对象。如果满足了,则返回实例化对象。如果不满足,则返回的是null(空)
* 而且如果实例化之后,返回的要是已经实例化的对象。因为要的是对象而不是类
*
* 从内存分析来看。automan对象其实是先在if条件语句外面创建的,不受if条件语句控制
* 只是在栈内存中创建了一个automan对象的一个指针。堆内存中还没有实例化对象。if条件
* 语句如果成立了。则在堆内存中生成了automan的实例化对象。并且在栈内存中指定的指针
* 指向了这个堆内存的对象。当if条件语句执行完毕。堆内存和栈内存中的对象依然存在。所以
* 就不会属于垃圾,也就不会出现垃圾回收车的收集。可以对对象进行操作
*/
return saidi ;
}
}
/**
* 作者:Tony
* 目的:外甥类,视频演示类作为方法的参数
* 日期:2013.7.24
* 时间:14:06
*/
package com.qilin;
public class WaiSheng {
public String name ;
void play(Automan saidi){
System.out.println("大家好,我的名字是" + name + "我喜欢玩Automan");
saidi.fire() ;
}
}
相关文章推荐
- Java学习笔记~关于类与对象的总结01
- 第四章 对象和类(《core java 卷1》学习笔记)
- [读书笔记] 深入探索C++对象模型-第四章-Function语义学(中续)
- 第四章 基于对象的编程风格(如何实现一个class)
- 《Python核心编程》 第四章 Python对象- 课后习题
- 第四章 类和对象
- [Java 并发] Java并发编程实践 思维导图 - 第四章 对象的组合
- 01-常用对象API(String类-特点)1 2 02-常用对象API(String类-构造函数)
- jQuery系列01---jQuery简介、jQuery使用详解、DOM对象与jQuery对象的转换与区别
- iOS-浅谈runtime运行时机制01-类与对象的内部结构
- 第四章 类与对象
- 第四章 Spring.Net 如何管理您的类___自定义对象行为
- 第四章 基于对象的编程风格(打造一个iterator class)
- oracle学习 第四章 单行函数 ——01
- python核心编程学习笔记-2016-08-17-01-代码对象、可执行对象声明和内建函数
- java 第四章 类与对象
- Laravel-01-请求和响应对象理解分析
- 《Java并发编程实战》第四章 对象的组合 读书笔记
- STL_函数对象01
- C++面向对象高级编程笔记01--GeekBand