面向对象
创建对象内存分析
public class Application {
public static void main(String[] args) {
Pet dog = new Pet();
dog.name="旺财";
dog.age=3;
dog.shout();
System.out.println(dog.name);
System.out.println(dog.age);
}
}
public class Pet {
public String name;
public int age;
//无参构造
public void shout(){
System.out.println("汪汪汪");
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KU62QBON-1630203773476)(C:\Users\夏占博\Desktop\截屏\Snipaste_2021-08-29_10-03-02.png)]
- 首先在方法区内加载了Application类,类里面有main()方法,还有字符串常量旺财
- 然后main()方法进栈,执行main()方法
- 执行语句Pet dog = new Pet();
- 首先将Pet类加载进方法区
- 然后在栈中生成一个dog的引用对象名,根据Pet模板在堆中创建了一个具体的对象
简单小结类与对象
1.类与对象
类是一个模板:抽象,对象是一个具体的实例
2.方法
方法的定义与调用
3.对象的引用
引用类型 基本类型
对象是通过引用来操作的:栈---->堆
4.属性:字段Filed 成员变量
默认初始化“
数字:0 0.0
char:u0000
coolean:false
引用:null
5.对象的创建和使用
- 必须使用new关键字构造对象,必须有构造器
- 对象的属性,实例名.属性名
- 对象的方法,实例名.方法名()
类:
静态的属性:属性
动态的行为:方法