类和对象
1.对象是堆内存内开辟的一块内存空间。
2.类和对象的关系:类是构建对象的模板。
Test.class
public class Test{
public static void main(String[] args){
Person 小花 = new Person();
//Person:对象类型
//小花:对象名
//=:把地址值附给这个对象 小花
//new:关键字,在堆内存开辟内存空间
//Person:对象实体
小花.run();
}
}
Java只有值传递,基本数据类型是值本身在栈;引用数据类型是传递地址值。
Person.class
class Person{
int age = 18;
int height = 183;
public void run(){
System.out.println("fastly")
}
}
以这两个代码为例,内存存储如图:
创建对象的过程 : 谁有main方法先加载谁,把.java通过javac转变为.class,放入内存方法区中;main方法入栈;对象开辟空间把对象的属性、方法等写入堆;方法执行完毕:出栈。
static变量 : 存储在方法区中,且被所有对象共享。