读书笔记之《Head First Java》对象的行为、超强力方法

对象的行为

对象中,实例变量和方法之间有着怎样的关系?
状态影响行为,行为影响状态。实例变量即状态,方法即行为。
什么是形参和实参?
这个和C倒没什么区别
我们可以给方法传入参数。实参是传给方法的值。当实参传入方法后就成了形参。
给方法传入实参时,实参的顺序、类型、数量必须与形参的顺序、类型、数量完全一致。
你还可以把变量当作实参传入方法,只要其类型符合要求即可。
方法的参数传递为什么是值传递?什么是值传递?
Java方法的参数传递是值传递形式,即通过拷贝传递。实参进入方法之后就成了形参,形参的变化不会改变实参,这就是值传递的好处。
什么是方法的返回值?
类似于C中函数的返回值
在Java中,方法可以有返回值,每个方法都必须显示地指明返回值类型。如果方法没有返回值,指明为void类型即可。
什么是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;
    }

超强力方法

什么是伪码、测试码、真实码?分别有什么用?
伪码的作用是帮助你专注于逻辑,而不需要顾虑到程序的语法。(可恶的是竟然要用全英文写)
测试码,用于程序代码的测试。
真实码,即实际设计出来的真正Java程序代码。
Java程序应该从高层的设计开始。通常在创建新的类时,要写出“伪码->测试码->真实码”。伪码应该描述要做什么事情而不是如何做,使用伪码可以帮助测试码的设计,在实现真实码之前应该要编写测试码。
不同于C的for循环
forin循环或称foreach循环,显得极为便利
在这里插入图片描述

发布了32 篇原创文章 · 获赞 5 · 访问量 890

猜你喜欢

转载自blog.csdn.net/LebronGod/article/details/104483310