对象的创建和使用
public class Aa{
}
public class AaTest{
…main(){
Aa aa=new Aa();
}
}
必须使用new关键字用来创建对象,接着使用构造器对对象进行初始化,在堆内存中开辟一块空间并分配地址例0x001,接着把地址赋值给引用aa
new Aa()匿名对象只可使用一次
ps:java中对象是由引用对其操作的
内存分析
栈:
每个线程私有,线程间不共享
局部变量放置栈中
栈是系统自动分配,速度快,是一个连续的内存空间
堆:
放置new出来的对象
堆是一个不连续的空间,分配灵活,速度慢
方法区:
被所有线程共享
存放程序中永不变的内容
构造器(构造方法,constructor)
构造器用于构造该类实例(对象初始化信息)是一种特殊的方法
[修饰符] 类名(形参){
…
}
构造器方法名为类名,不能定义返回类型和void,只能或者不使用return;,如果没手动定义构造器那么系统会自动定义一个无参的构造器,有手动定义则系统不会再自动生成
this关键字
指代当前对象(new对象)
public class Aa{
public int a;
public int b;
public Aa(int a){
this.a=a;
}
public Aa(int a,int b){
this(a);
this.a=a;
}
}
调用重载构造方法必须写构造方法的第一句
让类中的方法访问该类中另一个方法(this.方法名())或属性(this.属性名)