类和对象

本贴最后更新于 2020 天前,其中的信息可能已经沧海桑田

什么是对象?

万物皆是对象,对象是对客观事物的抽象,比如“张三”、“李四”都是对象。
对象是类的具体实例,反应在计算机就是内存当中一段有意义的数据区域。

什么是类?

类是对对象的抽象,它是对象的模板,用来建造各种各样的对象,“张三”“李四”我们称他们为对象,都是“人类”,人类就是对张三李四的抽象,就是“类”。
类封装了数据和行为,代表职责。职责就是告诉我们它具有什么样的功能。

类之间的关系

依赖(uses-a): 依赖就是一个类的方法操作另一个类的对象。
聚合(has-a): 聚合是指一个类包含另一个类。
继承(is-a): 比如儿子和爸爸的关系,一个类从另一个类继承了一些功能。

从语义上讲,可以分出依赖、关联、聚合、组合、继承、实现六中关系出来,但这里不做讲解。

如何定义一个类

一个有意义的类基本上由 数据 + 构造方法 + 行为方法组成

public class ClassName{

    //字段(数据)
    fields1
    fields2
    ....
    
    //构造方法
    constructor1
    constructor2
    ...
    
    //行为方法
    method1
    method2
    ...
}

对象的使用

我们定义好了类,那该怎么去使用呢,我们已经知道了对象是类的实例,那我们该怎么实例化对象呢,实例化一个对象使用 new 关键字

Employee employee ;
employee = new Employee();

//合起来
Employee employee = new Employee();

Employee employee 表示声明了一个 Employee 类型,名字叫做 employee 的变量,但此时 employee 并没有指向任何 Employee 实例对象,它还是一个空的引用
employee = new Employee(); 此时才是真正实例化了一个 Employee 对象,并赋值给 employee 变量。

隐式参数与显示参数

隐式参数: 隐式参数就是所说的 this 关键字,指的是当前对象,只能出现在实例方法中。
显示参数: 就是调用一个方法所需要传递的参数,就叫显示参数。

类的访问权限

修饰符 本类 同一个包的类 子类 其他类
private × × ×
默认 × ×
protected ×
public

声明类中的成员变量和方法的访问权限可以有以上四种
而声明类的访问权限只能有“public”和"默认"两种

final 关键字

被 final 修饰的类不能被继承
被 final 修饰的成员变量第一次赋值后,不能再被赋值
被 final 修饰的方法不能被重写
final 不能修饰构造方法

静态域和静态方法

声明静态域(静态成员)和静态方法使用 static 关键字,被声明的静态成员和静态方法属于类,而不再属于对象,不能在静态方法中访问实例成员或者实例方法,而在实例方法中却可以访问静态成员和静态方法。

静态常量:使用 static final 关键字

重载

方法的重载,表示在同一个类中可以出现相同名称的方法。参数个数可以相同,但必须不同类型。返回值可以相同也可以不同。

初始化块

初始化块可以在对象初始化之前优先被执行。
而静态初始化块则在类加载的时候被执行,如果初始化块和静态块同时存在,则优先执行静态初始化块,毕竟声明为静态则表示为类级别。

仅为本人复习笔记,复习自 java 核心技术卷 1

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3186 引用 • 8212 回帖

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...