一、函数

在函数中可以直接写成员变量的名字来访问成员变量
那么究竟访问的是哪个对象的呢?
函数是通过对象来调用的

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的变量只会在类进入程序里头(类的装载)的时候才会被初始化,之后不会再被初始化