对象与类:

  • 面向对象程序设计概述
  • 适用预定义类
  • 用户自定义方法
  • 静态字段与静态方法
  • 方法参数
  • 对象构造
  • JAR文件
  • 文档注释
  • 类设计技巧

面向对象程序设计概述(OOP)

类:存储数据字段和方法的摸具
封装:是处理对象的一个重要概念,将数据与行为组合在一个包中,并对对象使用者隐藏具体实现的方法
对象:(行为:可以做什么方法,状态:使用不同方法对象会如何响应,标识:如何区分相同信息的不同对象)
识别类:Item,Order等为人熟悉的人为设计类
类之间的关系:依赖(uses-a),聚合(has-a),继承(is-a)

使用预定义类:

使用构造器(constructor 构造函数)在目标类前加上 new 操作符

表示时间点的Date类

*表示日历的LocalDate类

用户自定义类与自定义方法:

使用class关键字自定义类

“javac className*.java”与”javac classNameTest.java”都可以视为编译className类

构造器:
  • 构造器需要与类名同名
  • 每个类可以有一个以上的构造器(0,1,2…个不同参数)
  • 构造器没有返回值
  • 构造器总是伴随着new操作符一起调用

var声明局部变量:仅能用于方法中,参数与字段仍需要声明

实例字段 final:类中的属性添加final后,这样的字段必须在构造对象时初始化,且不可再修改

静态字段与静态方法:

静态常量:static final

静态方法:static

工厂方法:使用静态方法构造对象

方法参数

形参与实参

对象构造:

重载:多个方法具有相同的函数名,不同的参数
默认字段初始化:构造器中未赋予初值的对象会被赋予默认值(0,false,null等)
调用其他构造器:this(…)

包:

英特网域名的作用之一就是保证 包名的唯一性
引入类的方法:
  1. 直接使用 包名.类名
  2. 提前使用import声明引入包类

包访问权限(public-全部,private-本类,protected-本包与子类,默认-本包)

包.类路径:设置类路径 -classpath(命令行指令)

JAR文件(java归档文件):

jar文件是一种zip压缩文件

*目前常使用maven等协助打包

文档注释

注释要写全,写细

类设计技巧:

  1. 保证数据私有
  2. 对数据进行初始化
  3. 不要在类中使用过多的基本类型
  4. 不是所有字段都需要单独的字段访问器和字段更改器
  5. 分解有过多指责的类
  6. 类名与方法名要能体现他们的职责
  7. 优先使用不可变的类