ZJU-java进阶笔记 第一、二周(类与对象,对象交互)

  1. 对象变量是对象的管理者,而非所有者
VendingMachine vm = new VendingMachine();
  1. this指代当前对象

  2. 成员函数可以直接(不需要点运算符)调用本类的其他成员函数

    void insertMoney(int amount) {
    
    
        balance = balance + amount;
        showBalance();
}
  1. 定义在成员函数内部的是本地变量,定义在类内部,成员函数外部的是成员变量
    本地变量的作用域和生存期都是函数内部
    成员变量的作用域是类的所有成员函数,生存期是对象的生存期

  2. 本地变量一定要初始化(赋初值)
    类里面的成员变量,java会保证给其一个初始值
    成员变量的定义初始化
    可以①直接赋值、②调用函数和③已经定义的成员变量,以及④通过构造函数

  3. 构造函数(在创建类的每一个对象的时候会被自动调用的函数),与类同名,
    注意:
    无返回值
    可以不止一个(重载)
    参数有无都可以

  4. 一个类里面的成员变量可以是其他类的对象

  5. private的意思是只有在类的内部才能够访问,即能够使用成员变量的地方只有两个
    一是其他成员变量的定义初始化
    二是成员函数内部
    但这个限制是对类,而不是对对象
    一个类的不同的对象可以互相访问别人(对象)的私有成员

    例(注:这是Fraction类的成员函数)

Fraction multiply(Fraction r){
    
    
        return new Fraction(zi*r.zi,mu*r.mu);
}

说明:新new出来的Fraction可以使用r这个Fraction的成员变量zi mu

  1. public static void main(String[] args){} 可以出现在同一包下的多个类中

  2. 除非有非常充分的理由,否则成员变量应该私有,惟其如此,才能保护它们不被外界随意使用

  3. 如果访问属性没有,即不是public也不是private,则为friendly,意为位于同一个包的其他类可以访问

  4. 编译单元(unit)就是一个.java文件
    一个编译单元里面不止一个类时,至多一个public类

  5. 不推荐import display.* 防止和别的包相同类名类产生冲突

  6. 类是描述,对象是实体。在类里所描述的成员变量,是位于这个类的每一个对象中的。
    而如果某个成员有static关键字做修饰,它就不再属于每一个对象,而是属于整个类的了。它们是类变量和类函数。

通过每个对象都可以访问到这些类变量和类函数,但是也可以通过类的名字来访问它们。类函数由于不属于任何对象,因此也没有办法建立与调用它们的对象的关系,就不能访问任何非static的成员变量和成员函数了。(static函数内部不能访问任何非static变量)

也就是,static变量是独一份的。同一类的所有对象共享的。

static变量只会在类进入程序时(类的装载)被初始化

猜你喜欢

转载自blog.csdn.net/weixin_44997802/article/details/108453980