- 对象变量是对象的管理者,而非所有者
VendingMachine vm = new VendingMachine();
-
this指代当前对象
-
成员函数可以直接(不需要点运算符)调用本类的其他成员函数
void insertMoney(int amount) {
balance = balance + amount;
showBalance();
}
-
定义在成员函数内部的是本地变量,定义在类内部,成员函数外部的是成员变量
本地变量的作用域和生存期都是函数内部
成员变量的作用域是类的所有成员函数,生存期是对象的生存期 -
本地变量一定要初始化(赋初值)
类里面的成员变量,java会保证给其一个初始值
成员变量的定义初始化:
可以①直接赋值、②调用函数和③已经定义的成员变量,以及④通过构造函数 -
构造函数(在创建类的每一个对象的时候会被自动调用的函数),与类同名,
注意:
无返回值
可以不止一个(重载)
参数有无都可以 -
一个类里面的成员变量可以是其他类的对象
-
private的意思是只有在类的内部才能够访问,即能够使用成员变量的地方只有两个
一是其他成员变量的定义初始化
二是成员函数内部
但这个限制是对类,而不是对对象
一个类的不同的对象可以互相访问别人(对象)的私有成员
例(注:这是Fraction类的成员函数)
Fraction multiply(Fraction r){
return new Fraction(zi*r.zi,mu*r.mu);
}
说明:新new出来的Fraction可以使用r这个Fraction的成员变量zi mu
-
public static void main(String[] args){}
可以出现在同一包下的多个类中 -
除非有非常充分的理由,否则成员变量应该私有,惟其如此,才能保护它们不被外界随意使用
-
如果访问属性没有,即不是public也不是private,则为friendly,意为位于同一个包的其他类可以访问
-
编译单元(unit)就是一个.java文件
一个编译单元里面不止一个类时,至多一个public类 -
不推荐import display.* 防止和别的包相同类名类产生冲突
-
类是描述,对象是实体。在类里所描述的成员变量,是位于这个类的每一个对象中的。
而如果某个成员有static关键字做修饰,它就不再属于每一个对象,而是属于整个类的了。它们是类变量和类函数。
通过每个对象都可以访问到这些类变量和类函数,但是也可以通过类的名字来访问它们。类函数由于不属于任何对象,因此也没有办法建立与调用它们的对象的关系,就不能访问任何非static的成员变量和成员函数了。(static函数内部不能访问任何非static变量)
也就是,static变量是独一份的。同一类的所有对象共享的。
static变量只会在类进入程序时(类的装载)被初始化