java 引用内存,构造方法,String
Person
p在栈中,而具体new出来的对象在堆里面,例如对象的那些属性都放在堆里面
Person p=null;//这是声明
p=new Person();//这是实例化对象
在程序中所有的方法都是保存在全局代码区之中的。
只要有实例化对象,就要调用构造方法;构造方法声明处不能有返回类型,不能在构造方法中用return语句
构造方法主要是为了要初始化类中的属性。
匿名对象就是比之前的对象少了一个栈内存的引用关系。
如:new Person(“hello”,10);
String 实例化
String s=”hello”;
String s=new String(“hello”);
String 比较:“==”比较的是内存地址,要比较内容的话得使用String的equals方法
String s1=”hello”;
String s2=”hello”;
String s3=”hello”;
s1,s2,s3指向了同一个空间,这样的话就可以节省空间
但是要是使用new的话就会每次都开辟一个空间
字符串内容是不能改变的,一旦要改变的话其实是改变的内存地址的引用关系。