1.打造一个小超市
- java就是用类来描述世界,用类的实例(对象)让世界运转
- 各种操作数据的代码太乱了咋办、
2.IntelliJ调试程序
- 设置断点,dubug调试模式运行
- 断点:让程序在调试模式停在某一行
用断点调试程序
- 查看变量的值,看内部成员的值
- step over:执行一行
- step out:继续执行到下一个断点 ,或程序结束
- step Into:进入被调用方法内部
- 执行任意代码:Evaluate Expression
- 条件断点:只有满足条件时,程序才会在该断点停住
3.让对象有方法
方法的组成部分
- 访问修饰符
- 返回值类型:无返回值用void表示,void 为关键字
- 方法名:任意合法标识符均可
- 参数列表
- 方法体
- 体内部的变量叫做局部变量
方法的调用
- 通过引用的点操作符,可以调用对象的方法
- 方法的调用要有括号,即使没有参数
方法可以使用的数据:对象的成员变量
4.返回值
- 在方法的定义中指定方法的返回值类型
- java种一个方法只能由一个返回值,如果不需要用void表示
- 如果定义了返回值,必须使用return。
- 返回值必须要能够用来给返回值类型的变量赋值
- return语句必须是所在代码块的最后一个语句
- 一个方法可以有多个返回语句
- 返回值如果是基 本类型,则要完全相同,或者符合自动转换规则
- 如果不符合规则,可以使用强制类型转换-
5.参数
- 参数定义在方法名字后面的括号中
- 参数定义的规范和变量一样,都是类型名加标识符
- 方法体中的代码可以使用参数
- 参数的值在调用方法的时候需要给出,(实际参数)
- 对应的,方法定义中的参数叫(形式参数)
- 参数可以是任何类型,包括自定义类型
6.参数和返回值是怎么传递的
- 参数和方法中的局部变量可以认为是一个东西,只是在方法调用前,会用实参给形参赋值
- 发生在代码块中的,就留在代码块里
- 方法执行完毕,参数和方法的局部变量就会被删除回收
- 调用一个有返回值的方法时,就像在访问一个成员变量
- 参数的传递,其实就是赋值
- 参数本身可以是一个表达式,只要类型匹配就可
- 方法里面的代码不能改变实参的值
- 可以把有返回值的方法,当作一个成员变量
- 使用返回值,就好像在使用一个成员变量
7.分清参数,局部变量,和实例的地盘
- 局部变量就是我们之前说的变量,是在方法体中创建的变量
- 参数和局部变量都是演草纸,方法执行完就清楚了
- 对象是实例,不是变量,对象创建出来后,被放在一起,类似于公告板的地方
- 方法里创建的对象是不会随着方法结束被清楚的,所以对象的地盘不受限制
- 只要有引用指向对象,就可以通过这个引用来访问
- 可以通过指向同一个对象的引用,操作这个对象里的属性
8.隐藏的this自引用
方法里隐藏着一个this自引用,指向调用这个方法的对象
使用一个对象调用方法,也叫做在这个对象上调用方法,因为方法可以访问这个对象的值
访问一个成员变量的完整形态是thiis.成员变量
9.理解方法
- 类中如果不定义方法,只定义成员变量,那么一个类就没有了功能,只是简单的数据的封装。创建一个对象之后,所有对数据的操作,都要在每个用到数据的地方写代码
- 类通过成员变量和方法描述世界。成员变量是描述一类事物的属性,是数据;方法是描述一类事物的行为和功能,是对数据的操作,比如describe方法
- 方法中的代码可以通过操作一个对象的成员变量,完成一个功能
- 方法是java中代码执行单元,是代码的载体。所有代码,都必须属于某一种方法
- 方法就是一串语句,加上数据输入this自引用和参数,执行后得到一个返回值。所以使用一个对象调用一个方法,可以叫做调用对象的方法。也可以叫做,在这个对象上调用方法
- 方法不是对象的一部分,是类的一部分。每个对象可以给成员变量赋不同的值,,但是无法让方法有不同大的行为,同理,无论在一个类中有多少方法,都不会影响创建一个对象所占用的内存
方法的特殊之处(和代码块相比)
- 有名字
- 有返回值
- 有参数
- 有this自引用
- 明确属于一个类
- 可以(只能)通过对象引用来调用