Java中步骤:
1.定义一个类
2.定义属性(成员变量/实例变量) === 这个类有什么
3.定义方法(成员函数) ==== 做什么
定义类
类= 成员变量(have sth)+成员函数(can do sth)
public class VendingMachine {//类
int price;
int balance;
int total;
面向对象的思维方式:他有什么,可以提供什么
类是规范,根据类的定义来创建对象
类(猫)
定义所有猫的属性
就是java中的类型
可以用来定义变量
创建对象
public static void main(String[] args) {
VendingMachine vm = new VendingMachine();//创建对象变量
vm.showBalance();
vm.showPrompt();
vm.insertMomey(100);
vm.getFood();
vm.showBalance();
对象变量是对象的管理者
让对象做事情用“.”运算符
在没有引入类之前,变量是跟着代码走的,有类后,写在类里的成员变量,只是一个声明,变量在每一个对象里。
对象(这只猫
)
表达东西或事件
运行时响应消息(提供服务)
使用对象
1.创建对象
类名 对象名 = new 类名()
类是以代码形式保存在计算机中的
而将类的信息放在内存中,那么这些信息被实例化 就叫做对象
2.使用对象
引用对象的属性: 对象名.属性
引用对象的方法:对象名.方法名()
对象 = 属性 + 服务
数据:属性或状态
操作:函数
oop特性
一切都是对象
程序就是一堆互相发送消息的对象
每个对象有自己的存储空间,里面是其他的对象
每个对象都有一个类型
所有属于某个特定类型的对象可以提供相同的服务
局部变量和成员变量的区别:
1.作用域不同。
成员变量是类中的 可以作用于不同的方法中
局部变量是方法中的 只能作用于方法中
2.初始值不同
成员变量有系统默认的初始值,可以不用进行初始值定义
局部变量没有默认的初始值,必须进行初始值定义
3.优先级不同
在一个类中,只能有一个成员变量名
在不同的方法中 可以有同名的局部变量
在调用时,局部变量的优先级高于成员变量
成员变量
类定义了所具有的变量,这些变量称作成员变量
每个对象有自己的变量,和同一个类的其他对象是分开的
在函数中可以直接写成员变量的名字来访问成员变量
如果是函数外面,这需要对象来调用
函数是通过对象来调用的
VendingMachine vm1 = new VendingMachine();//创建对象变量
vm1.insertMomey(200);
//建立一个临时的调用环境
vm.getFood();
vm1.showBalance();
而临时调用环境是通过
this来实现的
this是成员函数的一个特殊的固有的本地变量,他表达了调用这个函数的那个对象。
本地变量和成员变量
本地变量:定义在函数内部的变量
生存期和作用域在函数内部
成员变量:定义在函数外部
VendingMachine vm1 =
new
VendingMachine();
//创建对象变量
生存期:对象的生存期
作用域:类内部的成员函数
类中有一个函数名字和类名字一样就是构造函数
函数重载
一个类可以有多个构造函数,只要他们的参数表不同
创建对象的时候给出不同的参数值,就会自动调用不同的构造函数
通过this()还可以调用其他的构造函数
一个类里的同名但参数表不同的函数构成了重载关系
VendingMachine() //构造函数
{
total = 0;
}
VendingMachine(int price)
{
this();//可以自动调用另外一个同名的构造函数,但只能是函数的开头,而且只能用一次
this.price = price;
}
VendingMachine(double price)
{