java核心基础:第四章:对象和类 摘要这篇笔记围绕 Java 面向对象编程的核心概念展开涵盖四大特征封装、继承、多态、抽象、new 操作符与静态方法的区别、封装机制private / setter / getter的安全性问题特别深入讨论了引用类型 getter 在堆内存场景下的风险与防御方式并以内存图示例直观展示了属性、构造方法和普通方法的内存布局。一、面向对象基础概念面向对象的四大特征封装、继承、多态、抽象new 操作符的作用是创造对象、开辟新空间静态方法可以直接通过类进行调用非静态方法必须通过对象进行调用二、封装与访问控制如果变量设为 private 就只能在这个类里面调用如果想在其他类里面访问这个变量就只能在这个类里写 public 方法在外部通过 public 类型方法来更改 private 类型变量private 这种方法可以防止随意输入错误信息setter引用类型不安全String 等除外基本类型安全如果只提供访问器getter外部可以通过 getA() 破坏 private 状态因为访问器 return 的是私有变量 flag1 在堆中的地址引用类型String 虽然是引用类型但是也是安全的如果是私密的是基本类型返回的是值的副本所以不会被破坏三、引用类型 getter 的安全性引用类型的 get 像这样就安全了因为 for 循环里面是 int 数组是值的传递不是地址传递Demo1 中的 flag1 的 flag1[0] 开始设置为 1只有 k1 的值改成了 900另外两个没有变还是 1因为每次调用 getAA 都会创建一个全新的 flag1new 数组这三个数组同时存在不同内存里四、内存图示例上面三个代表属性、构造方法、普通方法下面是画内存图的一个例子下面是上面代码的内存图所以