## 面向对象编程 Object ### 类和对象概述: Class & Object 类泛指一大类抽象事物,对象特指这类事物中单一个体 类:属性,方法 #### 设计类 ```java public class Phone{ //属性 String name; double price; //方法 public void call(){ System.out.println("打电话"); } } ``` #### 创建对象 ```java Phone p1 = new Phone; p1.name = "华为"; p1.call(); ``` #### 方法: ##### 方法的重载: 同一类中允许存在同一名的不同方法,只要他们的参数列表不同 ##### 可变个数形参的方法: eg: ```java public void print(int ... nums){ System.out.println(""); } ``` ##### 方法的值传递机制 ##### 递归 #### package和import的使用 ##### package 用于指定当前类存在在哪一个包 ##### import 导包 ## 封装 隐藏数据。只暴露接口。私有化 特性:高内聚,低耦合 ##### 实现 | 修饰符 | 本类内部 | 本包内 | 其他包的子类 | 其他包的非子类 | | --------- | -------- | ------ | ------------ | -------------- | | private | √ | × | × | × | | 缺省 | √ | √ | × | × | | protected | √ | √ | √ | × | | public | √ | √ | √ | √ | ### 类的构造器 作用1:搭配new关键字,创建类的对象 作用2:在创建对象时,给相关属性赋值 没有显示提供构造器时,会默认生成一个空参的构造器。权限和类的权限相同 一个类中可以有多个构造器,他们之间构成重载 ### 属性赋值过程 1. 默认赋值 即给出的默认值 2. 显式赋值 在类中定义时赋值 3. 构造器赋值 4. 通过 对象.方法 赋值 5. 通过 对象.属性 赋值 先后顺序: 1 - 2 - 3 - 4 / 5 ### JavaBean 指一个满足以下特征的类 1. 公共的 2. 有一个无参的公共的构造器 3. 有属性,又对应的set和get方法 ### UML类图 看懂uml类图