Head First Java 读书笔记

第4章:对象的行为

对象中,实例变量和方法之间有着怎样的关系?

状态影响行为,行为影响状态。实例变量即状态,方法即行为。

什么是形参(parameter)和实参(argument)?

我们可以给方法传入参数。实参是传给方法的值。当实参传入方法后就成了形参。
给方法传入实参时,实参的顺序、类型、数量必须与形参的顺序、类型、数量完全一致。
你还可以把变量当作实参传入方法,只要其类型符合要求即可。

方法的参数传递为什么是值传递?什么是值传递?

Java方法的参数传递是值传递形式,即通过拷贝传递。实参进入方法之后就成了形参,形参的变化不会改变实参,这就是值传递的好处。

什么是方法的返回值?

在Java中,方法可以有返回值,每个方法都必须显示地指明返回值类型。如果方法没有返回值,指明为void类型即可。

int getAge() {
return 30; // 有返回值,类型为int
}

int age = getAge(); // 接收方法的返回值

什么是Getter和Setter ?

Getter 与 Setter,前者用于返回实例变量的值,后者用于设定实例变量的值。

为什么要封装?为什么把类中的变量暴露出去会很危险?如何对变量数据进行隐藏?

实现方案:把实例变量标记为private私有的,并提供public公有的getter和setter来控制实例变量的存取动作。

封装有什么好处?

封装会对我们的实例变量加上绝对领域,因此没有人能够恶搞我们的实例变量。

class Dog {
// 私有的实例变量,从而避免了dog.size的方式对实例变量进行操作,因为这很危险。
private int size;

// 公有的 Setter,在类的外部,通过dog.setSize()来设置size的值
public void setSize(int size) {
this.size = size;
}
// 公有的 Getter,在类的外部,通过dog.getSize()来获取size的值
public int getSize() {
return this.size;
}

void bark() {
if (size > 10) {} else {}
}
}

数组中的元素,还可以是对象。

Dog[] pets = new Dog[7];
pets[0] = new Dog();
pets[1] = new Dog();

pets[0].setSize(80); // 数组中对象调用对象方法

posted @   就叫清风吧  阅读(19)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示