面向对象首先考虑谁来做?(哪个对象的方法)
1.创建类的方法类是抽象的,一系列具有功能特征的事物
class 类名
{
属性;
方法;
}
属性:成员变量,用于描述类的状态(变量)
方法:成员方法,用于描述类的行为(函数)
2.对象2.1创建对象的方法、
对象是具体的,某一功能的事物。
类名 对象名=new 类名()
note:堆内存和栈内存的关系:堆内存是本尊,栈内存是引用,相当于是一个名字。
2.2对象的使用方法
所有的对象都是有主的
使用时:对象名.属性= / 对象名.方法
2.3多对象的创建方法
堆内存和栈内存分开,不影响。
2.4匿名对象的创建和使用方法
可以不定义对象的引用名称,直接调用这个对象的方法。
new Dog().jump()
通常一次性,因为没名字,无法继续使用。
3.函数
函数名相同;
参数列表不同;
3.2构造函数
类名 对象名=new 类名(),即类名(),构造函数和类名相同。使用new来调用构造函数。且构造函数没有返回值的定义。
作用:会在类里面自动添加构造函数,生成类的对象。
自己编写构造函数为成员变量赋值(人添加后,编译器不会自动添加无参构造函数)。
new的时候会执行的程序代码,没有java会自动添加。构造函数的一项关键特征是在它会在对象能够被赋值给引用前就执行。
4.堆与栈
堆:方法调用和局部变量
栈:所有的对象,又称可垃圾回收的堆,实例变量被声明在类里面而不是方法里面,实例变量存在于所属的对象中。
栈顶上方法是正在执行中的。
释放对象引用的三种方法:
1.引用永久性的离开它的范围
void go()
{
Life z = new Life(); /z会在方法结束时消失
}
2.引用被赋值到其他的对象上
Life z = new Life();
z = new Life();//第一个对象会在z被赋值到别处时挂掉
3.直接将引用设定为null
Life z = new Life();
z = null; //第一个对象会在z被赋值为null时击毙。
4.面向对象基础
原文:http://www.cnblogs.com/fruitbolgs/p/4151268.html