顶级类+静态嵌套类+内部类

静态嵌套类 本文讨论了Java中静态嵌套类的特性: 静态嵌套类与普通类的区别仅在于声明位置和访问权限,不限制实例化次数 类似静态方法,静态嵌套类不能访问外部类的非静态成员(如mouseCount变量会报错) 创建对象需通过"外部类.嵌套类"语法(如Zoo.Mouse) 特殊优势在于可以直接访问外部类的私有静态成员 与内部类不同,静态嵌套类不隐式持有外部类实例的引用 关键结论:静态嵌套类本质上是一个普通类,只是声明在另一个类内部并获得访问私有静态成员的特权。 阅读详情

接口由接口头(interface header)和接口体(interface body)组成

interface
接口中声明的常量隐含地为public static final,称为常量修饰符(constant modifiers).
接口定义的方法隐含为public abstract, 称为抽象方法修饰符(abstract method modifiers)
在接口中也可以声明嵌套顶层类和接口。
interface  interfaceName{
    class NestedTopLevelClass{}
    interface NestedInterface{}
}

嵌套类型=嵌套类+嵌套接口。
嵌套类型之间的区别在于该嵌套类型是类 还是接口,以及包装它的是类还是接口

如果嵌套类或者接口被声明为static,该嵌套类就相当于顶级类和接口,该类(static嵌套类)
被称做静态嵌套类。 静态嵌套类充当结构化和确定作用域的机制。
嵌套接口总是静态的,习惯上省略了static修饰符。

非静态嵌套类被称为内部类
                                                                                                                                                                                                                                                                          

【知识分享】CAN总线中终端网络的重要性 P沟道和N沟道晶体管的漏源通态电阻匹配良好时,形成的CANH和CANL信号匹配良好;如果驱动器的一半具有比另一半低得多的导通状态电阻,那么总线共模电压将从VCC/2的显性状态偏离,并回到VCC/2的隐性状态,这将导致每一次状态转换都会伴随着共模电压噪声,从而导致更高水平的传导和辐射能量发射。 阅读详情

相关推荐

Spring AI 实战:5 分钟搭建你的第一个 AI 应用(含完整代码)

能力关键 API适用场景基础对话简单问答、文本生成流式输出实时打字机效果@Bean模型需要调用外部工具结构化输出需要返回 Java 对象多轮对话聊天机器人场景Spring AI 让 Java 开发者可以用最熟悉的方式(Spring Boot + Maven)进入 AI 应用开发领域,不用学新语言,不用换框架,这是它最大的优势。但目前为止,我们的 AI 应用只能回答"它脑子里已有的知识"。如果让它读懂你自己的技术文档、公司内部知识库呢?这就是下一篇文章的主题——RAG(检索增强生成)实战。

qq_17204557的博客 645

java中 类是最顶层的类_Java中的模块化:顶层与嵌套类

非静态嵌套类具有对封闭类的创建者实例的隐式引用,并且它还可以访问封闭类的每个成员(甚至是私有成员)。如果您将嵌套类设置为顶级,则会丢失此信息:public class Outer {private String s;public void setS(String s) {this.s = s;}public class Inner {public String getOuterS() {// Th...

weixin_35825868的博客 240

智能座舱测试工程师必看:从零搭建自动化测试框架的5个实战技巧

本文为智能座舱测试工程师提供从零搭建自动化测试框架的5个实战技巧,涵盖环境搭建、ADB高级应用、Python脚本工程化、Monkey测试优化及性能调优。通过ADB深度操作和Python脚本封装,帮助测试人员构建高可复用的智能座舱测试解决方案,显著提升测试效率与问题发现率。

python9snake的博客 639

Java的顶层类和顶级类

顶层类是定义在Java源文件的最外层,不是任何其他类的内部成员。

weixin_63490470的博客 882

JS+H5打字练习器

实现功能 1.导入.TXT文件到打字练习内容(部分浏览器可能出于安全问题限制了这一步操作) 2.输入文本到打字练习内(弹出输入框,将要练习的内容输入至输入框) 3. 开始练习,并根据正误在打字练习内容文本上修改颜色(某个字正确显示绿色,某个字错误,显示红色,某个字没有打显示灰色) 4.开始练习、结束练习,全部输入完成后自动结束练习,也可提前手动结束练习,结束练习后弹窗用显示时和正确率。(区别在于一个全部输入完成且全部正确,一个提前结束无其他条件) 效果图 分析 HTML 结构解析 根元素:<!DO

w11111xxxl的博客 1417

SOI技术实战:从晶圆结构到芯片性能提升的完整解析

本文深入解析SOI(Silicon on Insulator)技术如何通过独特的三明治晶圆结构提升芯片性能,涵盖从220nm SOI层设计到7nm节点的工艺挑战。详细探讨了埋氧层的绝缘优势、性能提升的物理机制,以及AMD处理器和5G射频中的实战应用,为半导体行业提供关键技术洞见。

wdx0123456的博客 962

Java的顶级类

顶级类可以有任何访问修饰符,只要它是public或默认的(也就是包级私有的)。如果一个顶级类被声明为public,那么它可以被任何其他类访问。如果它没有访问修饰符(即默认的或包级私有的),那么它只能被同一个包中的其他类访问。在Java中,顶级类是指不是任何其他类的内部类的类。换句话说,它们不是嵌套在其他类中的,而是在其自己的文件中定义的,或者在一个文件中与其他顶级类一起定义的。它们也可以继承其他类,并且可以被其他类继承。是一个顶级类,因为它不是任何其他类的内部类。,一个公共构造函数,以及一个公共方法。

weixin_63490470的博客 331

【XR硬件介绍】PICO Space Pro(Project Swan)深度解析:字节 2026 旗舰 MR 头显延期背后

内部代号 Project Swan 的 PICO 年度旗舰 MR 头显正式定名PICO Space Pro,原本计划 2026 年 9 月对外发布,官方官宣推迟至 2026 年第四季度上市。硬件层面已经完成 FCC 认证,硬件成熟度较高,延期核心目标是打磨 PICO OS 6 空间操作系统,补齐空间计算软件能力。本文从产品背景、硬件架构、软件生态、延期逻辑、行业竞争格局几个维度拆解这款国产高端 MR 设备,分析它对国内 XR 产业的意义与待解的问题。

houdou112358的博客 1254

【Java 基础】外部类, 内部类

[Java基础] 外部类, 内部类 外部类 我们在创建类的时候,创建的 .java 文件(源文件)的文件名必须和我们要创建的类的名字一样。而这个我们创建的类,就是外部类, 也叫顶级类。 做一点引申: 在一个源文件里面,可以有很多个顶级类, 但是这些顶级类只有和文件名一样的顶级类才能被 public 修饰, 只有一个,其他的都只能用默认(什么都不加)进行修饰。 同一个源文件里面的多个顶级类,因...

LCN29的博客 1105

修改Avaya IP-Office电话交换机出厂自带的提示语音内容

1,本文的应用场景是在使用Avaya IP-office 500 v2电话交换机时,来电振铃超时后,会转入语音信箱,呼叫者会听到一条语音信箱留言的欢迎辞(…请留言…)。但我们单位情况比较特殊,首先是的IPO配置很精简,内嵌的语音信箱只能保留3天,用处不大;其次是用户没有收听语音信箱的习惯;第三是我们单位使用数字中继和DID,每人一个直拨号码,不通过总机转接。很多业务是单线联系,所以一旦来电无法接通,来电者可能完全无法联系到我们单位的其他同事。出于这三点原因,我们希望将语音信箱的欢迎辞,增加告知我们的总机电话

qlin4cn的博客 4920

comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 2 :寻找丢失的model 和工作流中 get set 方法的应用

寻找丢失的model 和工作流中 get set 方法的应用,为什么有写工作流 中有很多断掉的节点,没有相互链接?

AI懒虫 1793

Java中,嵌套公共静态类与顶级类有什么不同?

嵌套公共静态类可以拥有与它们所在的类相同的访问修饰符(例如public、private、protected、default),但它们通常声明为public,以允许外部类访问。总之,嵌套公共静态类通常用于与包含它们的类密切相关的功能,而顶级类更适合表示独立的实体或功能模块。·嵌套公共静态类是定义在另一个类内部的类,它们被称为嵌套类或静态嵌套类。它们的作用域局限于包含它们的类,通常用于实现一种内部辅助类或工具类。·顶级类是直接位于包内的类,它们的作用域更广泛,可以被同一包中的其他类以及其他包中的类访问。

Blue92120的博客 229

我用 Python 把 Claude 变成了 “代码审查员“:每次提交前 AI 先 Review,Bug 漏网率降了 80%

这是成败的关键。我们需要给 Claude 立规矩,让它像一个严格的架构师那样思考。你是一名资深的首席软件架构师和安全专家。请审查以下 Git Diff 代码变更。你的任务是:1. **安全性检查**:寻找 SQL 注入、XSS、硬编码密钥、敏感信息泄露等。2. **潜在 Bug**:空指针、资源未关闭、竞态条件、逻辑死循环。3. **代码质量**:命名规范、冗余代码、可读性差、缺乏注释。4. **性能优化**:不必要的数据库查询、低效算法。

BUG猿的博客 148

内部类(嵌套类,局部类),局部类

一.介绍 1.嵌套类定义:定义在另一个类中的类 内部类定义:不用被static定义的类,不能放static类型的变量,除非是常量 最外层的类,称为顶级类 public class A{//外部类 static class B{}//静态嵌套类 class C{}//非静态嵌套类,内部类, } public class Main{ public static void main(String[]args){ A a=new A();//若不调用B,C类,则其不占用内存

weixin_64086347的博客 178

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Java】基础入门(十七)--- 类

Java有各种各样类,如:顶级类、嵌套类、内部类、成员类、局部类(本地类)、静态类、匿名类、文件类以及这些组合起来的称呼类,成员内部类,成员匿名类,成员嵌套类,匿名内部类等

qq_58057131的博客 304

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

静态内部类定义在类中,任何方法外,用static定义

需要注意的是,静态内部类只能访问外部类的静态成员(变量和常量),而不能访问外部类的实例成员(变量和方法)。如果需要访问外部类的实例成员,可以将内部类声明为非静态的,并使用外部类的实例作为内部类的成员变量。是的,静态内部类(也称为嵌套类)是在另一个类的内部定义的类。生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。注意,在访问外部类的静态成员时,需要使用外部类的类名作为前缀。静态内部类定义在类中,任何方法外,用static定义。静态内部类只能访问外部类的静态成员。

博客域名:borter.blog.youkuaiyun.com 683

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java--嵌套类

static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗,我们可能会经常在帮助类或工具类中看到它的使用。创建成员内部类的实例,你必须先实例化一个外部类,接着,通过外部类的实例来创建成员内部类的实例。嵌套类是它的外部类的成员,非静态嵌套类(内部类)可以访问外部类的其他成员,即使该成员是私有的。说白了成员内部类就是外部类的一个非静态成员而已。静态嵌套类其实就是在顶级类中封装的一个顶级类,它的行为和顶级类一样,它被封装在顶级类中其实就是为了方便打包。.

简之恨寒的博客 2433

各种类

#各种类 顶级类 定义在class文件中并且声明不出现在其他类中,而且一个class文件中只能有一个顶级类有public修饰 嵌套类 声明在其他类中出现 静态嵌套类 加了static修饰的嵌套类,相当于一个顶级类,无法直接调用外部类的成员 内部类 不加static的嵌套类,可以直接调用外部类的成员 实例化内部类必须先实例化该内部类的外部类,然后使用这样的语法OuterCla...

ChuckLin的博客 248

java 静态类 创建_Java 中的静态类

Java 语言中可以定义一个静态类吗?答案是显而易见的:YES ,Java 语言存在静态类。我们都知道,Java 语言中存在 静态变量 、存在 静态方法 、也存在 静态块。其实,Java 语言还存在 静态类。Java 语言中的静态类Java 语言允许我们在一个类中定义另一个类。类中的类我们称之为嵌套类。而包含嵌套类的类,我们则称之为 外部类。Java 语言中,我们不能定义顶级的外部静态类。但我们可...

weixin_32349577的博客 4586

java类总结_JAVA 类总结

JAVA 类总结最近看了遍java内部类相关的一些内容,做一些总结。与个人博客 zhiheng.me 同步发布,标题:JAVA 类总结。顶级类与嵌套类定义在某个类(或接口,下同)内部的类,称为嵌套类(nested class),相应的,其所在的类称之为该类的外围类(enclosing class)或包裹类。非嵌套类称为顶级类(top-level class),一个 .java 文件中可以有若干个...

weixin_30043049的博客 254

6。嵌套类_局部类

嵌套类定义在一个类中的类 分为两种。

weixin_47454189的博客 103

Java 中编译一个 java 源文件产生多个 .class 文件原因

Java 允许在一个 .java 文件中定义多个类,但只能有一个 public 类,且文件名必须与该 public 类名相同。其他类不能是 public 的。class Helper { // 非 public 的顶级类interface MyInterface { // 非 public 的接口这些文件不带$ 符号(除非类名本身就有 $,这虽然合法但不推荐)。代码结构生成文件名示例特征顶级类无 $ (除非类名自带)成员内部类外部类$内部类静态嵌套类外部类$静态类局部内部类外部类$数字+类名。

weixin_52236586的博客 638

理清Java中的各种内部类

中文都是说内部类,英文原文其实分的很清楚 top level class nested class static class: declared as a static member of another class inner class: declared as a instance member of another class local inner class: declared inside an instance method of anther class anonymous inn

binling的专栏 394

4.7内部类与匿名类

内部类与匿名类

ujx745的博客 202

android holder 一定要内部类吗,android – ViewHolder不作为内部类

RecyclerView.ViewHolder可以不用作内部类吗?这样做有什么问题吗?我已经四处搜索但没有找到任何文件!解决方法:实际上,我认为ViewHolder应该是静态嵌套类(介意静态!)或顶级类(实际上没有什么不同,只是类名将包含外部类名后跟$,然后是内部类名称).我为什么这么认为?当ViewHolder是适配器的非静态内部类时,它保留对适配器的引用.现在,当你调用RecyclerView...

weixin_32490593的博客 260

java内部类构造,Java中的内部类构造

I've read about class fromal parameters and the question then arises as to why the following code is ill-formed?class A:package org.gradle;public class A extends B.Inner{public A(B s){s.super(new B())...

weixin_29159441的博客 183
上一篇: 默认的访问方式(缺省访问权限)
下一篇: 直接超类中必须有无参的构造函数
raphaelxia
博客等级 码龄22年 6粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值