JAVA学习笔记(十二)

避开这5个坑!ADNI数据库下载实操经验分享(含断点续传方案) 本文分享了ADNI数据库下载的5个常见陷阱及解决方案,包括高级搜索策略优化、断点续传技巧和数据完整性验证。特别针对大文件下载中断问题,提供了wget断点续传和分卷下载的实操方法,帮助研究者高效获取神经影像数据,避免重复下载和时间浪费。 阅读详情

方法重载的基本使用

对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。 方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。

好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。


方法重载的注意事项

方法重载与下列因素相关: 1.参数个数不同

2.参数类型不同 3.参数的多类型顺序不同

 public class Demo01MethodOverload{
     public static void main(String[] args){
         /*System.out.println(sumTwo(10,20));// 30
         System.out.println(sumThree(10,20,30));// 60
         System.out.println(sumFour(10,20,30,40));// 100
         */
         System.out.println(sum(a:10,b:20));//两个参数的方法
         System.out.println(sum(a:10,b:20,c:30));//三个参数的方法
         System.out.println(sum(a:10,b:20,c:30,d:40));//四个参数的方法
 //        System.out.println(sum(10,20,30,40,50));//找不到任何方法来匹配,所以错误!
     }
 ​
         public static int sum(int a, int b) {
             System.out.println("有2个参数的方法执行!") ;
             return a + b;
         }
 ​
         public static int sum(int a, int b, int c) {
             System.out.println("有3个参数的方法执行!");
             return a+b+c;
         }
         
         public static int sum(int a, int b, int c, int d) {
             System.out.println("有4个参数的方法执行!"); 
             return a+b+c+d;
         }
     }
 }

方法重载与下列因素无关

1.与参数的名称无关 2.与方法的返回值类型无关

 public class Demo01MethodOverload{
     public static void main(String[] args){
         System.out.println(sum(a:10,b:20));//两个参数的方法
         System.out.println(sum(a:10,b:20,c:30));//三个参数的方法
         System.out.println(sum(a:10,b:20,c:30,d:40));//四个参数的方法
     }
     
     public static int sum(int a, double b) {
         return(int) (a + b);
     }
     public static int sum(double a, int b) {
         return(int) (a + b);
     }
 ​
     public static int sum(int a, int b) {
         return a + b;
     }
     
     //错误写法!与方法的返回值类型无关
 //    public static double sum(int a, int b){
 //    return a + b+0.0; 
 //    }
     //错误写法!与参数的名称无关
 //    public static int sum(intxinty){ 
 //    return x+y;
 //    }
     
     public static int sum(double a, double b){
         return(int)(a+b);
     }
 }

     

重载练习1_四种不同参数类型的方法

题目要求: 比较两个数据是否相等。 参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型并在main方法中进行测试。

 public class Demo02MethodOverloadSame{
     public static void main(String[] args){
         byte a =10; 
         byte b =20;
         System.out.println(isSame(a,b));
         
         System.out.println(isSame((short) 20,(short) 20));
 ​
         System.out.println(isSame(a:11,b:12));
 ​
         System.out.println(isSame(a:10L,b:10L));
     }
     
     public static boolean isSame(byte a, byte b) {
         boolean same; if(a == b) {
             same =true;
         } else {
             same =false;
         }
         return same;
     }
     
     public static boolean isSame(short a, short b){
         boolean same = a == b ? true : false; 
         return same;
     }
 ​
     public static boolean isSame(int a, int b){
         return a == b;
     }
 ​
     public static boolean isSame(long a, long b) {
         if (a == b) {
             return true;
         } else {
             return false;
         }
     }
 }

重载练习2_判断方法的正确重载

 package cn.itcast.day04.demo04;
 public class Demo030verloadJudge{
     public static void open(){} // 正确重载
     public static void open(int a){} // 正确重载
     static void open(int a,int b){}//代码错误:和第8行冲突 
     public static void open(double a,int b){} // 正确重载
     public static void open(intadoubleb){}//代码错误:和第6行冲突 
     public void open(int idoubled){}//代码错误:和第5行冲突
     public static void OPEN((){}//代码正确不会报错,但是并不是有效重载 
     public static void open(inti inti){} //代码错误:和第3行冲突
 }

重载练习3_实现重载的println方法

在调用输出语句的时候,println方法其实就是进行了多种数据类型的重载形式。

 public class Demo040verloadPrint {
     public static void main(String[] args){
         myPrint(num:100);// int
         myPrint(str:"Hello");// string
     }
 ​
     public static void myPrint(bytenum){
         System.out.println(num);
     }
 ​
     public static void myPrint(short num){
         System.out.println(num);
     }
 ​
     public static void myPrint(int num) {
         System.out.println(num);
     }
 ​
     public static void myPrint(long num) {
         System.out.println(num);
     }
 ​
     public static void myPrint(float num){
         System.out.println(num);
     }
 ​
     public static void myPrint(double num){
         System.out.println(num);
     }
 ​
     public static void myPrint(char num {
         System.out.println(num);
     }
                                
     public static void myPrint(boolean is) {
         System.out.println(is);
     }
                                
     public static void myPrint(String str){
         System.out.println(str);
     }
 }

python设计俄罗斯方块(附源码) 【代码】python设计俄罗斯方块(附源码) 阅读详情

相关推荐

彻底禁用有道云笔记自动更新:手动修改配置文件的终极方案

本文详细介绍了如何通过修改配置文件彻底禁用有道云笔记的自动更新功能,解决v7.2.8版本的兼容性问题。通过定位并修改`app-update.yml`文件,用户可以一劳永逸地阻止强制更新,保持稳定的v7.2.7版本。文章还提供了常见问题排查和进阶防护措施,确保操作的有效性和安全性。

weixin_29258297的博客 463

史上最全Java面试题(带全部答案)

今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次。对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦。在跳槽季来临...

emprere的博客 4884

【PCIe DL_Feature详解】

   Data Link Control and Management State Machine在PCIe Gen4引入了DL_Feature这个状态,该状态主要用来协商PCIe link 两端是否支持新的DL Feature,目前为止DL Feature只引入了Scaled Flow Control 来提高Gen4及以上的效率。   DL_Feature 这个状态是可选的,当 Data Link Feature Extended Capability中Data Link Feature Exchang

sinat_38294441的博客 3233

定义两个数据是否相等,看到是否要用boolean值参数类型分别是两个byte类型:两个short类型,两个int,两个long类型并在main测试

/* 定义两个数据是否相等,看到是否要用boolean值 参数类型分别是两个byte类型:两个short类型,两个int,两个long类型 并在main测试 */ public class OverRoad { public static void main(String[] args) { byte a=2; byte b=4; System.out.println(isSame(a,b)); System.out.println.

一个学习的博客 783

银河麒麟Arm64 v10 sp1系统QT5.12.8离线环境配置全攻略

本文详细介绍了在银河麒麟Arm64 v10 sp1系统上配置QT5.12.8离线开发环境的完整流程。从安装包获取、依赖检查到环境变量配置,逐步指导开发者解决飞腾处理器架构下的常见问题,包括OpenGL库冲突、中文乱码处理等,特别适合军工、政务等需要离线部署的场景。

weixin_26899659的博客 505

HFSS仿真的后处理结果,如何根据天线表面的电流密度分布对天线进行优化?

在HFSS仿真中,天线表面的Jsurf​是最直观、最有价值的诊断工具之一。它不仅告诉你天线“能不能工作”,还能告诉你“为什么工作”以及“哪里出了问题”。

degogmy的博客 1157

java byte判断相等_Java 数值相等判断详解(特别注意包装类型之间的比较)

Java数值类型分为基本类型,包装类型。基本类型:byte、short、int、long、float和double包装类型:Byte、Short、Integer、Long、Float和Double数值比较可分为基本类型之间比较,基本类型与包装类类型比较,包装类型之间的比较。基本类型比较基本类型之间只能使用“==”做相等比较。比较结果就是数值是否相等。inta=1,b=1,c=2;System...

weixin_39628498的博客 4078

【Unity】入门教程第一期-下载安装Unity编辑器(下)

讲解如何在Unity Hub中下载Unity编辑器以及IED环境

Xiaoxin的博客 2040

java 判断byte相等_Java中相等测试

一:equals与==的区别(1)基本数据类型byte,short,char,int,long,float,double,boolean此类数据类型的比较需要使用==,此时比较的是他们的值,若相等,则返回true,若不同,则返回false;注:Integer a =1000;Integer b=1000;if (a==b)....此时返回为false,因为Integer表示的不是基本数据类型,而是...

weixin_28932441的博客 4500

【异常】Claude Code CLI工具 模型加载异常 /init报错排查与完整解决方案 There‘s an issue with the selected model (glm-5). It

此类跨厂商模型配置报错,核心诱因是API生态的兼容性不匹配。优先使用工具原生支持的模型体系,可快速解决90%以上的同类报错;若需跨厂商使用目标模型,需完成API端点、鉴权密钥、模型ID的全链路适配,确保全流程配置合规,即可完成异常修复。

奶爸的编程之路,也就一周冷个三天 3702

EMC诊断技术及电磁兼容理论设计

本文深入探讨了EMC诊断技术,重点在于滤波篇,详细讲解了EMI滤波器的设计、选型、测试及应用注意事项。内容涵盖噪声限值法规、滤波器的法规依据、插入损耗测试以及滤波电容的高频特性。同时,还阐述了噪声源的近场与远场特性,如何快速定位和抑制噪声。通过实例分析,提供了滤波器件和辐射噪声抑制器件的选型策略。

让你爱上电路设计 2162

Java中继承的四个特性详解(继承时对象的初始化机制)&继承所带来的好处好处

继承(extends)的由来 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类中无需再定义这些属性和行为,只需要和抽取出来的类构成某种关系。 其中,多个类可以称为子类,也叫派生类;多个类抽取出来的这个类称为父类、超类(superclass)或者基类。 例如,猫属于动物,狗也属于动物。可见,父类更通用,子类更具体。 继承的好处 提高代码的复用性。 提高代码的扩展性。 类与类之间产生了关系,是学习多态的前提。 继承的特点一:成员变量 ..

zpf1813763637的博客 1634

【人工智能】全面盘点国内AI九大模型:各擅胜场的智能先锋(豆包、文心一言、讯飞星火、通义千问、Kimi、智谱清言、腾讯元宝、秘塔、天工AI)

追求性价比与全能:选豆包,适合个人与中小企业日常使用;侧重中文创作与理解:选文心一言,文学与商业文案创作首选;需要专业语音交互:选讯飞星火,智能客服、车载场景必备;看重生态与多场景:选通义千问,适配电商、办公等企业需求;处理超长文本任务:选Kimi,文档分析、学术研究的利器;专注深度推理创作:选智谱清言,学术与创意写作的伙伴;依赖腾讯生态协同:选腾讯元宝,日常轻量需求的便捷之选;深耕法律学术领域:选秘塔,专业文本处理的权威工具;布局前沿技术体验:选天工AI,享受接近国际顶尖的智能服务。

奶爸的编程之路,也就一周冷个三天 1121

java202304java学习笔记第六十二天-mvc的请求-常用操作-查询操作2

java

qq_41632427的博客 68

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java202303java学习笔记第四十二天DQL-总结

java

qq_41632427的博客 93

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java202303java学习笔记第四十二天DQL-日期函数1

java

qq_41632427的博客 68

深度学习工具包 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")

java202303java学习笔记第四十二天DQL-日期函数2

java

qq_41632427的博客 71

java202303java学习笔记第四十二天函数-多表关系介绍3

java

qq_41632427的博客 67

Java学习笔记(十二)

一、回顾     1、Map映射,以键值对的方式来存储元素,键值不能重复,value可以重复。        size(),containsKey(),containsValue(),put(K,V),get(K),remove(K)        values(),keySet(),Set> entrySet()                       1-1、常用实现类:  

mclaren_csdn的专栏 409

java学习笔记(十二)

java学习笔记(十二) java部分: Object类: 所有类的父类,所有类都默认继承Object Object只有一个无参构造方法 Object类中没有静态方法,所以必须通过对象调用 成员方法 - 一共11个 ① getClass():通过类的对象,获取字节码对象 ​ 类的加载: ​ xx.java -> xx.class ->(类加载) JVM -> 方法区 ​ 使用类的时候 -> 类只加载一次 -> 一个类会对应生成一个字节码对象 ​

weixin_43987302的博客 184

Java学习笔记 十二、泛型

Java学习笔记 十二、泛型

qq_43681634的博客 282

JAVA学习笔记十二

201711671228《Java程序设计》第十三章学习总结 教材学习内容总结 第十三章讲的是java网络编程。网络编程主要使用URL、Socket。IntAddress和DatagramSocket类,以及远程调用。URL类是java包中的一个重要的类,而其中使用URL创建对象的应用程序称为客户端程序,一个URL对象通常包含三部分的信息,协议、地址、资源;URL对象调用I...

qq20000124的博客 130

Java学习笔记——十二、字符串

十二、字符串 1、API 1.1 API概述 API( Application Programming Interface):应用程序编程接口。 是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。 Java API:指的就是JDK中提供的各种功能的Java类。 这些类将底层的实现封装了起来,不需要关心这些类是如何实现的, 只需要学习这些类如何使用即可,可以通过帮助文档来学

chenwangjie的博客 401

Java基础学习笔记(十二)—— 多态

Java基础学习笔记(十二)—— 多态 什么是多态? 多态发生的前提条件 多态有什么用? instanceof 关键字 不支持多态的方法 多态是同一个行为具有多个不同表现形式或形态的能力。(下面的例子可以帮助理解) instanceof 关键字 有时我们需要用instanceof关键字来判断一个对象的具体类型,方法如下: 改写第一个例子中的Student类的main方法 先了解这样一个概念:方法绑定,即将一个方法调用和一个方法主体关联起来。方法绑定又分为前期绑定和后期绑定,前期绑定就是在程序运行之前(比如编

qq_44525150的博客 385
上一篇: JAVA学习笔记(十一)
下一篇: JAVA学习笔记(十三)
tyryon
博客等级 码龄7年 3粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值