一、面向对象程序设计思想
- 找一个对象帮助我们做事情(万物皆为对象),用虚拟思想去模拟现实生活。
二、类和对象的概念
- 是事物相关属性和行为的集合,可以看成是一类事物的模板,使用事物的属性特征来描述该类事物。
- 是一类事物的具体体现,对象就是类的一个具体实例,对象具备该类事物的属性和行为。
三、类的声明
四、对象的使用
- 创建对象
类名 对象名 = new 类名();
- 然后对象调用属性
对象名.属性名
- 最后对象调用方法
对象名.方法名();
五、什么是类?什么是对象?类与对象的关系是什么?
类是事物相关属性和行为的集合,可以看成是一类事物的模板,使用事物的属性特征来描述该类事物。
对象是一类事物的具体体现,对象就是类的一个具体实例,对象具备该类事物的属性和行为。
他们的关系:
(1)类是对一类事物的描述,是抽象的
(2)对象是一类事物的实例,是具体的
(3)类是对象的模板,对象是类的实体
六、面向对象的内存分析
首先,准备好代码:
JVM运行时数据区中有栈、堆、方法区
当执行程序时,首先执行main方法,会在栈中给main方法分配一个栈帧:
然后将Person.class文件加载到方法区:
然后Person p1 = new Person(),会在main栈帧中开辟一个p1内存空间,在堆中开辟一个对象内存地址,存放类中的属性和方法,假设内存地址为0x11。则会把对象的内存地址赋值给p1,所以p1是引用对象,内存地址指向堆中的真正的对象,然后给age和name赋值,这里会先找到p1,然后很具p1指向的堆的内存地址,找到age和name属性,其中name是字符串类型,所以赋值时先在方法区中创建一个常量池,将字符串内容放到常量池中,然后从常量池中获取数据给name赋值:
下一步会执行调用show方法,则会在栈中给show方法分配一个栈帧:
然后执行完show方法,则会将show方法出栈,之后main方法也执行完毕,则main方法也会出栈,程序执行完毕。
(1)JVM执行Java程序的流程:
从.class字节码文件开始 ,当点击Test类中运行按钮时。字节码文件会生成,生成后由类加载工具类将其class文件加载到运行时数据区,然后经过运行时数据区。再经过执行引擎,Java程序才会返回运行结果。
(2)字节码文件在被加载到内存中的方法区后,那接下来就该去执行字节码文件了,程序得执行在代码层面来讲。必须要找到程序的执行入口(main()方法),所以会调用main()方法,所以接下来就得进行main()的压栈操作,其实就是将main()函数放到栈中。
(3)依据Student student = new Student();堆内存中的堆空间创建,引入具体的属性,返回给栈内存中的对象引用。
七、使用面向对象思想完成人洗衣服操作
标签:p1,Java,对象,事物,笔记,学习,main,方法,属性 From: https://www.cnblogs.com/wgh123/p/17350632.html