intelliJ IDEA使用讲解

idea.exe文件是 IntelliJ IDEA 32 位的可行执行文件,
IntelliJ IDEA 安装完默认发送到桌面的就是这个执行文件的快捷方式;
idea.exe.vmoptions文件是 IntelliJ IDEA 32 位的可执行文件的 VM 配置文件;
idea.properties文件是 IntelliJ IDEA 的一些属性配置文件;
idea64.exe文件是 IntelliJ IDEA 64 位的可行执行文件,要求电脑上必须装有 JDK 64 位版本,64 位的系统也是建议使用该文件;
idea64.exe.vmoptions文件是 IntelliJ IDEA 64 位的可执行文件的 VM 配置文件。
在这里插入图片描述
在这里插入图片描述

如上图所示,我们打开了idea.properties配置文件,其没有 32 位和 64 位之分,修改的原则主要是根据个人对 IntelliJ IDEA 的个性化配置情况来分析,经常修改的是下面 4 个参数:

idea.config.path= u s e r . h o m e / . I n t e l l i J I d e a / c o n f i g , 该 属 性 主 要 用 于 指 向 I n t e l l i J I D E A 的 个 性 化 配 置 目 录 , 默 认 是 被 注 释 , 打 开 注 释 之 后 才 算 启 用 该 属 性 , 这 里 需 要 特 别 注 意 的 是 斜 杠 方 向 , 这 里 用 的 是 正 斜 杠 ; i d e a . s y s t e m . p a t h = {user.home}/.IntelliJIdea/config,该属性主要用于指向 IntelliJ IDEA 的个性化配置目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠; idea.system.path= user.home/.IntelliJIdea/configIntelliJIDEAidea.system.path={user.home}/.IntelliJIdea/system,该属性主要用于指向 IntelliJ IDEA 的系统文件目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠,如果咱们的项目很多,则该目录会很大,如果咱们的 C 盘空间不够的时候,还是建议把该目录转移到其他盘中;
idea.max.intellisense.filesize=2500,该属性主要用于提高在编辑大文件时候的代码帮助,IntelliJ IDEA 在编辑大文件的时候还是很容易卡顿的;
idea.cycle.buffer.size=1024,该属性主要用于控制控制台输出缓存。如果遇到项目开启很多输出的话,那么控制台很快就被刷满了,没办法再自动输出后面内容,这种项目建议增大该值或是直接禁用掉,禁用语句为 idea.cycle.buffer.size=disabled

详述 IntelliJ IDEA 的使用界面

在这里,有一点需要说明,那就是:在 IntelliJ IDEA 中,Project是最大单元,没有类似于 Eclipse 的工作空间(Workspace)的概念,但是我们可以在一个 Project下创建多个Module,默认是一个Project下创建一个Module,因此才出现项目名称与模块名称默认相同的现象。一般情况下,我们是不需要在More Settings中进行修改的。接下来,点击Finish,完成项目的创建
在这里插入图片描述
标注 1:项目结构图;
标注 2:外部库。
如上图所示,在项目结构图中,src目录为默认的Source root,我们一般在该目录下创建包和类;在外部库中,显示了我们导入的 JDK 1.8 版本。接下来,我们在src目录下创建包和类:

在这里插入图片描述
在这里插入图片描述
如上图所示,我们输入包名为com.hit.demo,其中用英文状态下的点.进行分隔,表示一次创建多个包,具体效果如下图所示
在这里插入图片描述
标注 1:多个空包叠在一起;
标注 2:齿轮符号,一般表示设置;
标注 3:选择是否把空包叠在一起。
接下来,选择demo目录,点击鼠标右边,在选择Java Class,进入如下界面:

在这里插入图片描述

如上图所示,将类名(Name) 设置为HelloWorld,一般情况下,如果类名出现多个单词的话,则每个单词的首字母都大写。类创建完之后,在编辑区敲入代码,如下图所示:
在这里插入图片描述
接下来,在“编辑区”点击鼠标右键,选择Run ‘HelloWorld.main()’,运行后,结果如下图所示:
在这里插入图片描述

  • 标注 1:运行结果“HelloWorld!”
  • 标注 2:存放Module编译文件的out目录。存放的是项目中所有Module的编译文件。如果我们细心一点的话,则会发现out和src目录的层次结构完全相同。最后,我们在来了解一下项目中的相关配置文件,如下图所示:
  • 标注 1:.idea为Project的配置文件目录;
  • 标注 2:.iml为Module的配置文件。

如上图所示,IntelliJ IDEA 的配置文件都存在.idea目录下,以 XML 文件的形式存在,因此我们也可以通过了解这些 XML 文件来了解 IntelliJ IDEA 的相关配置。至于.iml文件,则为 IntelliJ IDEA 为每个 Module 自动生成的配置文件,一般情况下,我们是不需要动她的,就让她做一个安静的女神吧!此外,IntelliJ IDEA 是一个没有 Ctrl + S 的 IDE,因此每次修改完代码之后,咱们只管运行或者调试即可,无需担心保存或者丢失代码的问题。

设置 IntelliJ IDEA 主题和字体的方法

界面主题修改

在这里插入图片描述
如上图所示,依次点击Files -> Settings,进入如下界面:
在这里插入图片描述

  • 标注 1:主题选择区;
  • 标注 2:Darcula、IntelliJ和Windows,三个主题。

如上图所示,我们定位到Appearance & Behavior > Appearance界面,在 Windows 系统上 IntelliJ IDEA 默认提供三个主题,分别为:Darcula、IntelliJ和Windows。其中,除了Darcula是黑色背景的主题,其余两个都是白色背景的主题。

修改 IntelliJ IDEA 模板注释中的 user 内容

观察上图,不知道大家有没有注意到:IntelliJ IDEA 自带模板注释的功能。如上图所示,在创建 Java 类的时候,其自带的模板注释内容如下:

/**
 * Created by think on 2017/3/16.
 */

查看Settings之后,我们会发现,其内容来自于:

/**
 * Created by ${USER} on ${DATE}.
 */

${USER}:表示主机名;
D A T E : 表 示 创 建 文 件 的 时 间 。 两 者 相 对 比 , 我 们 发 现 : {DATE}:表示创建文件的时间。 两者相对比,我们发现: DATE{USER}被设置成了think; D A T E 被 设 置 成 了 2017 / 3 / 16 。 其 中 , {DATE}被设置成了2017/3/16。其中, DATE2017/3/16{DATE}没什么问题,表示我们创建类的时间,但是${USER}设置成think看着不太爽啊!那该怎么办啊?啥也别说了,直接动手改了它呗!接下来,博主将演示两种修改模板注释中 user 内容的方法。

在Settings中进行修改

在这里插入图片描述
如上图所示,我们定位到Editor > File and Code Templates界面,然后选择Includes中的File Header,将其中的${USER}直接修改成我们自己定义的名称,例如,博主将其设置为维C果糖,然后点击Apply。接下来,在demo目录下,创建测试类CeshiUser,其效果如下图所示:
在这里插入图片描述

IntelliJ IDEA 常见文件类型的图标介绍

IntelliJ IDEA 各种文件类型的图标,主要分为三类:Common、Data Sources和File Types.

Common

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Data Sources

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

File Types

intelliJ IDEA 识别众多的文件类型,每一个文件类型都用一个特殊图标表示,也允许自定义的文件类型。每个文件类型与一个或多个特定的模式进行关联扩展。文件类型及其扩展可以在文件类型的对话框中进行配置。默认的文件类型包括:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于各种文件类型的图标,上面的Description已经介绍的非常详细啦,但是还有两个图标需要特别的说明一下,分别为:

  • Source root,我们可以理解为源目录,其作用就是用来专门存放 Java 类文件的,相对于编译出来的class文件而言,它就是源。一般默认名字叫src的目录就是源目录,但是在 IntelliJ IDEA 中,即使叫srcs也是可以设置为Source root的,所以源目录跟目录命名是没有关系的,因为 IntelliJ IDEA 支持将任意目录设置为Source root,其作用就是标记该目录下的文件是可编译的。
  • Java class located out of the source root,我们已经知道Source root目录是用来告诉 IntelliJ IDEA 这是存放可编译文件的目录,而如果我们的 Java 类文件没有放在该目录或是该目录的子包下,那么该 Java 类文件就无法进行编译,其前面就会显示这个图标。

IntelliJ IDEA 缓存和索引的介绍及清理方法

对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,大型项目在创建索引的过程中可能会出现卡顿的现象,因此强烈建议在 IntelliJ IDEA 创建索引的过程中不要动项目。”那么,索引到底是干什么用的呢?在本篇博文中,就让我们一起了解索引的用途,对了,还有缓存。

IntelliJ IDEA 的缓存和索引主要是用来加快文件查询的速度,从而提高各种查找、代码提示等操作的速度,因此索引对 IntelliJ IDEA 的高效性来说,具有至关重要的作用。但是,IntelliJ IDEA 的缓存和索引并不一定总是起到积极的作用,有的时候,反而会因为缓存和索引的损坏,例如突然断电、蓝屏引起的强制关机等等,造成 IntelliJ IDEA 出现一些莫名其妙的问题,例如项目打不开、个性化设置还原等等。现在,大家不用愁了,接下来,就让我们一起看一看如何清理缓存和索引:
在这里插入图片描述
在这里插入图片描述

  • 标注 1:无效并重启;
  • 标注 2:无效缓存;
  • 标注 3:重新启动;
  • 标注 4:警告提示。
    如上图所示,一般建议点击Invalidate and Restart,这样会清理的比较干净。但是,有一点需要注意,那就是:标记 4 所示的WARNING表示如果我们选择清理缓存和索引,那么 IntelliJ IDEA 的Local History也会被一并清理掉。因此,如果我们的项目没有加入到版本控制,而我们又需要项目文件的历史更改记录,那最好备份下该目录,其地址为C:\Users\当前登录的系统用户名\.IntelliJIdea\system\LocalHistory。
    通过上面的方式清除缓存和索引的本质其实就是删除C盘下的system目录下的对应的文件,因此如果我们不用上述的方法,也可以直接删除整个system目录,这样的话,当 IntelliJ IDEA 再次启动项目的时候就会重新创建新的system目录以及对应项目缓存和索引。如果我们遇到了因为缓存或者索引出现问题以至于打不开项目的时候,建议直接删除system目录,一般这样都可以很好地解决我们的问题。

此外,还有一点需要我们注意,那就是:在安装 IntelliJ IDEA 的时候,默认是不启用system目录的,因此想要记录Local History,就得我们手动设置啦!具体如何设置,可以参考「IntelliJ IDEA 安装目录的核心文件讲解」这篇文章。

IntelliJ IDEA 编译方式介绍及编译器的设置和选择

相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还可以在“容器”运行之前配置一个编译事件,先编译后运行。在默认情况下,IntelliJ IDEA 也都是这样设置的,因此在实际开发中,我们也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译(未设置时),但是这并不影响代码的自动检查。但是对于多个类之间的关联关系,还是要等Build或Rebuild触发的时候才会做相关检查的。

在这里插入图片描述

  • 标注 1:Build Project,编译项目;

  • 标注 2:Build Module,编译模块;

  • 标注 3:Recomplie,重新编译类文件;

  • 标注 4:Rebuild Project,重新编译项目。
    如上图所示,在 IntelliJ IDEA 中,编译方式有以上 3 种,分别为:

  • Build:对选定的目标(Project 或 Module)进行编译,但只编译修改过的文件,没有修改过的文件则不会进行编译。

  • Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。

  • Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,因此每次 Rebuild 花的时间都比较长。

接下来,我们一起看看运行之前的编译情况:

在这里插入图片描述
如上图所示,IntelliJ IDEA 默认在运行项目之前先进行Build操作。那么,我们再一起看看 IntelliJ IDEA 编译器的设置和选择:
在这里插入图片描述

  • 标注 1:设置自动编译项目;
  • 标注2:设置编译时heap大小;
  • 标注 3:设置编译时的VM参数。
    如上图所示,我们定位到Build、Execution、Deployment > Complie页面,通过勾选 标注 1 所示的Build project automatically,我们可以设置 IntelliJ IDEA 进行自动编译;标注 2 表示设置编译heap大小,默认为 700,如果使用 64 位的机器,在内存足够的情况下,可以尝试修改为 1500 或以上,此外,如果我们在编译的时候报出OutOfMemoryError的错误,也可以来修改(减小)这个参数;标注 3 表示设置编译时的虚拟机参数,这个可以根据需求进行个性化设置,一般情况下,默认就可以。
    Java heap size 堆栈大小, 指Java 虚拟机的内存大小。我的理解是:在Java虚拟机中,分配多少内存用于调用对象,函数和数组。因为底层中,函数和数组的调用在计算机中是用堆栈实现的。
    在这里插入图片描述
    如上图所示,我们定位到Build、Execution、Deployment > Compiler > Excludes页面,可以通过点击 标注 1 所示的+和-,任意添加或删减目录(或文件)进行编译排除。在编译项目的时候,如果任何一个可编译的文件没有编译通过,那么 IntelliJ IDEA 就无法运行起来,必须等全部问题解决并且编译通过之后,IntelliJ IDEA 才能运行起来。不过有可能在开发过程中,某一个包目录的文件编译无法通过,但是我们又不急着改,这时我们就可以考虑把该包加入到排除编译列表中,这样的话,项目就可以运行起来啦!

在这里插入图片描述

  • 标注 1:Use compile;
  • 标注 2:Project bytecode version;
  • 标注 3:Per-module bytecode version.
    如上图所示,我们定位到Build、Execution、Deployment > Compiler > Java Compiler页面,标注 1 所示为 IntelliJ IDEA 支持的编译器,包括Javac、Eclipse、Ajc等,默认是Javac,也推荐使用Javac;标注 2 所示为针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本;标注 3 表示可以针对Project下各个Module的特殊需求单独设置不同的bytecode version,当然,前提是我们的电脑上必须事先安装对应的 JDK 版本。

IntelliJ IDEA 中 Project 和 Module 的概念及区别

我们知道:在 IntelliJ IDEA 中Project是最顶级的结构单元,然后就是Module,一个Project可以有多个Module。目前,主流的大型项目结构基本都是多Module的结构,这类项目一般是按功能划分的,比如:user-core-module、user-facade-module和user-hessian-module等等,模块之间彼此可以相互依赖。通过这些Module的命名可以看出,它们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系的。

因此,我们可以大致总结出:一个Project是由一个或多个Module组成,尽量让各模块处于同一项目之中,此时彼此之间具有互相依赖的关联关系。在这里,之所以说“尽量”,是因为 IntelliJ IDEA 的Project是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范类型的效果,或许,我们也可以简单地理解Project就是一个单纯的目录,只是这个目录在命名上必须有其代表性的意义。在一般情况下,IntelliJ IDEA 是默认单Project单Module的,这时Project和Module合二为一,在没有修改存储路径的时候,显然Project对Module具有强约束作用啦!不过说实话,这里就是将Module的内容放在了Project的目录下,实际上还是Module自己约束自己。官方解释是:
项目是IntelliJ IDEA中用于开发工作的顶级组织单元。在完成的形式中,一个项目可能代表一个完整的软件解决方案。项目包括:您的工作成果:源代码、构建脚本、配置文件、文档、工件等。用于开发、编译、运行和测试代码的sdk和库。项目设置,表示项目上下文中的工作首选项。一个项目有一个或多个模块作为它的部分。
模块是项目的一部分,您可以独立地编译、运行、测试和调试。模块是在维护公共(项目)配置的同时降低大型项目复杂性的一种方法。模块是可重用的:如果需要,一个模块可以包含在多个项目中。

在这里插入图片描述

如上图所示,通过观察Project和Module的存储地址,我们可以发现,IntelliJ IDEA 在此处建立了一个名为user-core-module的目录,并将其放在了名为user-modules-project的目录下,而没有将两个目录合二为一,也就为我们建立多Module的Project作了准备。
在这里插入图片描述
如上图所示,显然user-modules-project仅表现为一个目录而已。
在这里插入图片描述

如上图所示,依次点击File–>New–>Module,进入如下界面:
在这里插入图片描述
如上图所示,输入Module name之后,Content root和Module file location自动发生改变,然后点击finish,完成:
在这里插入图片描述

如上图所示,我们在项目user-modules-project中,建立了两个Module,分别为user-core-module和user-hessian-module,然后我们再看看存储目录:
在这里插入图片描述

IntelliJ IDEA 中的版本控制介绍

我们已经了解了很多关于 IntelliJ IDEA 的使用方法,至少可以独立的运用 IntelliJ IDEA 进行项目开发啦!但是一个人进行项目开发更趋向于理想化,更多的则是团队协同开发。这时,我们就需要了解一个非常重要的概念啦,那就是“版本控制”。

在此,我们可以简单回顾“版本控制”的发展史。起初,并没有关于版本控制的概念,在协同开发的时候,大家都是自己保持项目代码,或者互相拷贝代码,这样在合并代码的过程中就难免遇到很多不兼容的问题;这就促使“集中式版本控制系统(CVCS)”的出现,例如 SVN、CVS 等,但这仍然有一个风险,那就是如果源码库出现问题,导致项目代码丢失,那么大家手里的都是部分代码,就算勉强合并到一起,也不能保证项目源码的准确性;因此,这又促使“分布式版本控制系统(DVCS)”的出现,例如 Git,它的好处显而易见,每个人从源码库中检出的代码,都是作为一份独立的、完整的拷贝代码存在,这时就算源码库出现问题,甚至源码丢失,那么任何一个人的代码都可以作为源码进行共享,从而大大提高了协同开发的抗风险能力。

因此,在本文中,博主更倾向于推荐大家使用分布式版本控制系统。但是一般情况下,我们仅需要下载一个版本控制系统的客户端即可,在这里,根据操作系统的不同,博主分别推荐一个个人感觉非常好用的版本控制系统客户端:
Windows 版本控制系统客户端:TortoiseSVN;
在这里插入图片描述
在这里插入图片描述

  • 标注 1:Plugins,插件;
  • 标注 2:Version Control,版本控制。

Git

如果想要在 IntelliJ IDEA 中使用 Git,同样需要事先安装 Git 客户端,不过在安装 Git 客户端的过程中,我们可以自由选择是否同时使用 Windows 命令行工具。此外,如果大家没有安装过 Git 的话,则可以参考「Git 的安装流程及步骤」了解具体的安装步骤。

在这里插入图片描述
如上图所示,如果我们事先安装了 Git 客户端的话,则会在Path to Git executable中自动定位到 Git 的可执行文件,然后点击Test
在这里插入图片描述
如上图所示,显示Git executed successfully,则表示分布式版本控制系统 Git 可用。

GitHub

对于一个励志于在互联网浪潮中闯出一番天地的高逼格程序猿来说,如果不知道 GitHub 的话,貌似有些太 low 啦!如果你之前知道 GitHub 的话,那好吧,我感觉很正常;如果你之前不知道 GitHub 的话,那么真心建议你通过「史上最简单的 GitHub 教程」了解一下 GitHub,就算是注册个账号之后再也不用啦,至少我们也可以淡(装)然(逼)的说“在想当初,我也曾 XXX,只是 XXX”对吧?总不至于当别人问到 GitHub 的时候,我们一脸懵逼啊!
在这里插入图片描述

  • 标注 1:Create API Token,创建 API Token;
  • 标注 2:Login to GitHub,登录 GitHub 账号;
  • 标注 3:Test,测试连接是否成功。
    如上图所示,在 IntelliJ IDEA 中,提供了对 GitHub 的支持功能。当我们登录 GitHub 账号之后,点击Test进行测试:

在这里插入图片描述

如上图所示,显示Connection successfully for user guobinhit,表示我们已经将此 IntelliJ IDEA 连接到 GitHub 账号为guobinhit的账号之中啦!

解决idea无法下载插件的问题
第二种方法!找到settings->system settings->updata下面的Use secure Connetion去掉,是因为使用了https协议下载导致的问题

详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法

Maven 是一个优秀的项目管理工具,它为我们提供了一个构建完整的生命周期框架。现在,就让我们一起看看如何利用 IntelliJ IDEA 快速的创建 Maven 项目吧!
在这里插入图片描述
在这里插入图片描述

  • 标注 1:Maven选项;
  • 标注 2:Project SDK,项目 SDK;
  • 标注 3:archetype,Web 项目框架。
    如上图所示,先点击 Maven 选项,然后选择 SDK,再从框架中选择maven-archetype-webapp用于创建 Web 项目。当然,我们也可以根本不同的需求选择不同的框架以便 IDEA 自动为我们生成项目框架。在这里,有一点需要我们特别注意,那就是:Maven 3.3.1+以上的版本需要JDK 1.7+以上的版本与之搭配使用,否则会出现异常,以至于 Maven 项目创建失败。在上述操作完成后,点击Next:
    在这里插入图片描述
  • 标注 1:GroupId,项目坐标,与ArtifactId搭配使用,用于标记项目;
  • 标注 2:ArtifactId,项目坐标,与GroupId搭配使用,用于标记项目;
  • 标注 3:Version,项目版本,与ArtifactId、GroupId搭配使用,用于唯一标记项目。
    如上图所示,ArtifactId、GroupId需要我们自己命名,Version默认为1.0-SNAPSHOT,表示该项目属于不稳定的快照版本,默认即可。输入完成后,点击Next:
    在这里插入图片描述

详述 IntelliJ IDEA 之 Debug 篇

在这里插入图片描述
如上图所示:从Server开始,往后图标依次为:

Show Execution Point:显示执行端点(Alt + F10)
Step Over :跳到下一步 (F8)
Step Into :进入代码或者说进入到方法内部(F7)
Force Step Into :强制进入代码或者说进入到方法内部(Alt + Shift + F7)
Step Out :跳到下一个断点或者跳出方法(Shift + F8)
Drop Frame :放弃当前 debug,重新执行 debug
Run to Cursor :运行到光标处(Alt + F9)
说完第一排图标,咱们再说说第一列图标,上从上向下依次为:

Rerun ‘tomcat’ :重启 tomcat 服务器,还需要在点击“小骷髅”图标(Command + R)
Update ‘tomcat’ Application :更新 tomcat 应用程序(Command + F10)
Resume Program :从 debug 模式中恢复程序,执行到底(Alt + Command + R)

详述 IntelliJ IDEA 之 添加 jar 包

应用 IntelliJ IDEA 编程,知道如何添加 jar 是最基本的技能。在这里,作者将带着大家一起过一遍添加 jar 包的流程:

首先,通过菜单栏中的“File”进入到“Project Structure”,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来,点击最右侧“绿色的加号”,选择“1 JARs or directories”,然后就是咱们说了算啦,任意添加咱们想要的 jar 包即可(前提是咱得事先下载对应的 jar 包),
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值