以如下代码为例
package com.badidu.object;
public class Test {
public static void main(String[] args) {
Student s1 = new Student();
// 1.创建面向对象
s1.name = "boniu";
s1.chinese = 100;
s1.math = 100;
// 2.封装数据
s1.printTotalScore();
s1.printAvageScore();
// 3.调用方法
Student s2 = new Student();
// 1.创建面向对象
s2.name = "bonzai";
s2.chinese = 59;
s2.math = 100;
// 2.封装数据
s2.printTotalScore();
s2.printAvageScore();
// 3.调用方法
// 4.写完使用Ctrl+Alt+L排版
}
}
对象在计算机中的执行原理?
- Student s1 = new Student();
- 每次 new Student();就是在堆内存中开辟一块内存区域代表一个学生对象
- s1 变量里面记住的是学生对象的地址
在代码各部分对应的区域
- 方法区:Test.class、Student.class
public class Student {
public class Test {
- 栈内存:main函数
public static void main(String[] args) {
- 堆内存:创建的对象、面向对象封装的数据
Student s1 = new Student();
// 1.创建面向对象
s1.name = "boniu";
s1.chinese = 100;
s1.math = 100;
// 2.封装数据
s1.printTotalScore();
s1.printAvageScore();
// 3.调用方法
Student s2 = new Student();
// 1.创建面向对象
s2.name = "bonzai";
s2.chinese = 59;
s2.math = 100;
// 2.封装数据
s2.printTotalScore();
s2.printAvageScore();
// 3.调用方法
// 4.写完使用Ctrl+Alt+L排版
总的来说,就是栈内存的main方法,在堆内存中创建对象;堆内存的对象,根据方法区的面向对象模板 构造对象的数据结构,也根据面向对象模板 对对象进行数据的封装