一、函数
在函数中可以直接写成员变量的名字来访问成员变量
那么究竟访问的是哪个对象的呢?
函数是通过对象来调用的
v.insertMoney()
此次调用临时建立了insertMoney()和v之间的关系
让insertMoney()内部的成员变量指向的是v的成员变量
this
this.XX==XX
this是成员函数的一个特殊的固有的本地变量
它表达了调用这个函数的那个对象
static静态
static什么时候用?
——所有对象访问的变量都是一个值的时候
注:静态方法不能调用非静态成员变量,只能调用静态成员变量 只有不涉及什么非静态的成员变量的时候才能用
静态方法可以通过 类名.成员方法名 调用
调用函数
通过.点运算符调用某个对象的函数
例:
public class Machine
}
void showBalance ()
{
...........
}
void insertMoney (int amount)
{
showBalance();(此时因为是在成员函数内部,所以无需machine.showBalance();)
}
}
在成员函数外部则需要对象名才能调用
对象初始化:构造函数和重载
构造函数
例:
machine()(下面调用machine函数的时候,如果没有提供值,那么这段函数叫做构造函数)
{
total=0;
}
重载
例:
machine(int price)(下面调用machine函数的时候,如果有提供int类型的值,那么这段叫做重载)
{
this.price=price;
}
类变量
static变量被叫做类变量
public class Display
{
private int value=0;
private int limit=0;
private static int step=1;//类变量
}
static变量和static函数只属于这个类,不属于任何函数(可以说这个类自己带了一个变量,这个变量只它在类里头,不在它的任何一个对象里头)
任何对象都可以访问这个变量,但是这个变量只有一份(也就是说这个变量不在每个对象里头,一旦改变了任何对象访问的这个变量,则都会访问到改变后的这个变量)
静态变量随着类的加载而加载 而成员变量是随着对象的加载而加载
因此 静态变量又叫类变量 成员变量又叫对象变量
访问方式:
1、可以通过类的名字+“.”去访问static变量
2、也可以通过所在的类里面的方法名字+“.”去访问static变量
类函数
static里只能调用static的函数,只能访问static的成员变量
public class machine
{
......
public static void f()//类函数
{
value ++;
}
......
}
static的函数和static的变量都可以通过类的名字去访问,但是也可以通过某个对象的名字去访问,只是通过某个对象的名字去访问的时候,并不能获得那个对象的具体信息
static的变量只会在类进入程序里头(类的装载)的时候才会被初始化,之后不会再被初始化