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变量只会在类进入程序时(类的装载)被初始化

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

  1. Effective Java读书笔记(二)

    Effective Java 读书笔记 (二) 创建和销毁对象 遇到多个构造器参数时要考虑使用构建器 创建和销毁对象 何时以及如何创建对象? 何时以及如何避免创建对象? 如何确保它们能够适时地销毁? ...

  2. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  3. Java变成笔记4:复用类

    Java变成笔记4:复用类 图源:Java Switch语句(用法详解)-java教程-PHP中文网 类是OOP编程中的代码组织单元,无论是OOP的类还是面向过程的函数,其目的都是为了实现代码复用. ...

  4. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  5. 『RNN 监督序列标注』笔记-第一/二章 监督序列标注

    『RNN 监督序列标注』笔记-第一/二章 监督序列标注 监督序列标注(Supervised Sequence Labeling)与传统的监督模式分类(supervised pattern classi ...

  6. 阿里内部发布最新版Java进阶笔记,金九银十看这份文档就够了

    大家都说程序员这个职业薪资高.待遇好,现在是程序员"跳槽"的黄金时期,你准备好了吗?有没有给自己定个小目标?是30K.40K,还是更高?短期内提高Java 核心能力最快.最有效的方 ...

  7. Java虚拟机笔记(五):JVM中对象的分代

    为什么要分代 为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用, ...

  8. JAVA中同目录下定义类,以及对象的创建与使用,内存图的原理

    JAVA中同目录下定义类,以及对象的创建与使用(听课笔记) JAVA中对象的创建与使用(听课笔记) 示例一 同文件目录下,创建了三个类OOTest01,User,Address类,之间的调用 示例二 ...

  9. JAVA学习笔记---第一天(李兴华)

    3.1.Java简介(了解) Java是一门编程语言,Java发展到今天,已经成为了一个真正意义上的语言标准,如果学习过(C.C++.Java)可以发现语法结构是很类似的,但是Java的标准指的是一种 ...

  10. 【Java学习笔记之二十五】初步认知Java内部类

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人对内部类也只是略知一二). 第一次见面 内部类我们从外面看是非常容易理解的,无非就是在 ...

最新文章

  1. atcoder题目合集(持续更新中)
  2. 你知道“淘宝意念购“吗?阿里巴巴也入局脑机接口领域了...,
  3. 森林病虫防治系统 (十一)
  4. lua打开是二进制代码_物联网的构建:使用Lua高级语言进行嵌入式开发
  5. Linux基础维护——笔记
  6. python中的JSON(1)
  7. 全国重点城市建筑物矢量数据合集二(Shp格式+带高度)
  8. Origin技巧:两个柱状图竖向重叠怎么办?
  9. 1.初识Mysql数据库
  10. 数据库设计(5)-理解用户需求
  11. 郭琳加冕 2022第三季完美大师 全球人气季军
  12. [渝粤教育] 南阳医学高等专科学校 传染病护理 参考 资料
  13. 东营计算机考试,2018年东营市上半年计算机等级考试报名时间
  14. Qt例子学习笔记 - Examples/Qt-6.2.0/charts/callout
  15. 阿里云发送邮件(mail)失败
  16. 格雷码在异步FIFO中的应用
  17. 猫哥教你写爬虫 027--模块介绍
  18. 软件测试实用技术与常用模板
  19. [转] 玩智能手机必须知道的秘密
  20. react native开发Android 篇——集成自定义的字体

热门文章

  1. iOS 富文本编辑工厂, 让书写更简便.
  2. iOS_Development~ 添加 / 隐藏 UITabBar 右上角的小红点
  3. 怎样设计一个商城项目?
  4. Webhint开源了一种代码检查工具
  5. Java 内存查看与分析
  6. Android--Retrofit的简单使用(一)
  7. 数据连接linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口
  8. ASP.NET--Menu控件
  9. OC封装的轮播图-只用调用即可
  10. 使用 NSURLSession 开发一个支持后台下载和断点续传的下载工具