一个类由两种东西组成:表示对象有什么的成员变量和表示对象能做什么的成员函数。
一旦定义了类,我们就可以创建这个类的多个对象,这些对象都会做那个类所定义的动作(函数),但是各自具有不同的数据。
在没有引入类之前,变量是跟着代码走的。代码写到哪儿,变量写在哪里,那么运行的时候变量就在那儿。现在,写在类里的成员变量,只是一个声明,变量并不在那里,变量不在类里,变量在每一个对象里
成员变量:类中定义了对象中所具有的变量,这些变量称为成员变量,且每个对象有自己的变量和同一个类的其他对象是分开的。
从写类的角度来说在类的某个函数中可以直接写成员变量的名字来访问那个成员变量,而对于究竟访问哪个对象是调用函数的时候使用变量名加 . 运算符来调用 例如
v.insertMoney();
其中 v 为变量名 InsertMoney();为方法名,这次调用临时建立了insertMoney()与v之间的联系;
让InsertMoney()内部的成员变量指向的是 v 的成员变量,
此调用方法其实是使用了this这个没有显示出来的成员函数的一个特殊的固有的本地变量(本地变量的定义在下方),它表达了这一次调用函数的那个变量。
关于成员变量的调用也可以直接 this.方法来调用
void showBalance()
{
system.out.println(this.Balance);
}
this的另一种调法
void setPrice(int price)
{
this.price=price;
}
在这其中this是使int price 中price 这个参数访问到price(在 void setPrice(int price)外定义的price的值。
调用函数:
当我们设计了一个类知道了这个类的对象我们可以使用 . 这个运算符调用某个对象的函数;如果在一个成员函数内部去调另一个成员函数时可以直接调用不需要用this
void insertMomey(int amount)
{
balance = balance + amount;
showBalance();
}
而在成员函数外部则必须通过对象的名字来调用成员函数
public static void main(String[] args)
{
VendingMachine vm=new VendingMachine();
vm.showPrompt();
vm.showBalance();
vm.insertMomey(100);
vm.getFood();
}
我借鉴的代码
package Note;
public class VendingMachine {
int price = 80;
int balance;
int total;
void showPrompt() {
System.out.println("welcome");
}
void insertMomey(int amount) {
balance = balance + amount;
}
void showBalance() {
System.out.println(balance);
}
void getFood() {
if(balance>price) {
System.out.println("here yuo are");
balance=balance-price;
total=total+price;
}
}
public static void main(String[] args) {
VendingMachine vm=new VendingMachine();
vm.showPrompt();
vm.showBalance();
vm.insertMomey(100);
vm.getFood();
}
}
定义在函数内部的变量为本地变量 在函数外部变量为成员变量
本地变量的生存期和作用域都是函数内部而成员变量的生存期是对象的生存期、作用域是类内部的成员函数
我是个新手这中间很多东西都是我听课学到的如果有bug请大佬斧正