视频地址: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() ;
}
}