Java修饰符

深入解析Matlab phantom函数:从基础模体到自定义头部仿真 本文深入解析了Matlab中的phantom函数,它是医学图像处理算法测试的核心工具。文章详细介绍了如何使用内置的Shepp-Logan及其改良版头部仿真模体,并重点讲解了通过自定义参数矩阵来构建专属模体的方法。通过从生成模体到模拟投影(正弦图)再到图像重建的完整实战流程,展示了phantom函数在CT等算法开发与验证中的关键作用。 阅读详情

1,访问修饰符

访问修饰符的作用是说明被声明的内容(类,方法,属性)的访问权限。
在Java中,访问控制权限有4种,public,private,protected及无修饰符。
(1)public:用public修饰的成分说明其是公有的,可以被其他任意对象访问
(2)private:只能对这个类自身开放,在类外不可见
(3)protected:用protected修饰的成分是受保护的,可以被同一个package中的其他类或者异包中的子类访问
(4)无修饰符(默认):public,private,protected这三个限定符不是必须写的,如果没有修饰符,则可以被同一个包内的其他类访问
各种访问修饰符的比较

2,方法修饰符

方法修饰符允许方法设置访问权限,方法修饰符有三种,static,final,abstract。
(1)static修饰符
关键字static可以用来修饰变量,方法和代码块。
静态方法,静态成员,存储于类的储存区,属于整个类,不属于哪一个具体的类对象,被所有该类的对象所共享。因此在不同的类中访问静态成员,访问的是同一个。静态成员,静态方法可以直接被调用,可以通过类名调用,也可以通过类的实例对象的引用来调用。
方法声明为static时有些限制:
1,它们只能调用其他static方法和其他static属性。
2,不能使用关键字this和super。
3,static代码块将只被执行一次。

package Liu;
class StaticDemo{
	static int a = 23 ;   //静态属性
	static int b = 67 ;
	static void callme() {         //静态方法
		System.out.println("a= " + a);
	}
}
public class StaticText {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		StaticDemo.callme();//不需要创建对象,通过类名直接调用静态方法
		System.out.println("b= " + StaticDemo.b);//通过类名直接调用静态属性
	}

}

(2)final修饰符
final修饰符可以修饰类,方法,变量。修饰效果如下:
1,用final修饰的类不能被继承,即当前这个类不能构建子类
2,用final修饰的变量,值不能被修改。变量被声明为final类型之后必须初始化,且只能被赋值一次,其实就是常量。
3,用final修饰的方法不能被重写。会提示Cannot override the final method from…
4,如果对象已经被声明为final,则对它的引用不能更改,但是它的属性值可以更改

private final double PI = 3.14159;//私有final属性

(3)abstract修饰符
abstract用于声明抽象类及其内部的抽象方法,抽象类不能被实例化,abstract类的任何子类必须实现父类声明中的所有abstract方法,不然子类也必须时抽象类。以后博文中再详细介绍…

fastbin attack快速入门 0x01 fastbin简介 Fastbin包含0x20~0x80大小bin的数组指针,用于快速分配小堆块。fastbin按照单链表结构进行组织,相同大小的bin在同一个链表中,fd指向下一个bin,采用LIFO(Last In First Out)机制。在fastbin中,堆块的inuse标志都为1,处于占用状态,防止chunk释放时进行合并,加快小堆块的分配。 正常fastbin的使用 通过这个简单的案例来了解fastbin的单链表结构,malloc和free的过程。 #include<stdio 阅读详情

相关推荐

【数学建模】 进化计算与群体智能

遗传算法(GA)是一种用于优化和搜索问题的启发式算法。它模拟了自然选择的过程,其中个体通过遗传和变异进行繁殖,逐渐进化出更优的解。基本步骤初始化:生成初始种群。适应度评估:评估种群中每个个体的适应度。选择:根据适应度选择个体进行繁殖。交叉:选定个体对进行基因交换,生成新的后代。变异:对一些个体进行基因变异,以增加多样性。迭代:重复评估和繁殖过程,直至达到停止条件。粒子群优化算法(PSO)是一种基于群体智能的优化算法,由Kennedy和Eberhart于1995年提出。其灵感来源于鸟群觅食的行为。

weixin_42914989的博客 1113

【Java 基础篇】Java 修饰符:掌握代码的灵魂之钥

abstract修饰符用于表示抽象实体,即只有声明而没有具体实现的实体。抽象类和抽象方法必须使用abstract修饰符。abstract修饰类:表示抽象类,不能被实例化,只能作为其他类的基类。// 类的声明 }abstract修饰方法:表示抽象方法,只有声明而没有具体实现,需要子类进行实现。本篇博客围绕Java修饰符展开了讨论,介绍了访问修饰符和非访问修饰符的使用和作用。访问修饰符用于控制可见性和访问范围,非访问修饰符用于改变实体的行为和特性。

繁依Fanyi的博客 2148

DC-DC电源PCB布局实战:从EMI优化到热管理

本文深入探讨了DC-DC电源PCB布局的核心实战技巧。文章从分析电流环路入手,强调通过优化“黄金三角”布局以最小化环路面积,从而有效抑制EMI并提升效率。详细阐述了功率器件摆放、地线分割、敏感信号布线、电感下方铺铜策略以及热管理设计等关键步骤,为工程师提供了一套从理论到实践的完整布局指南。

z5a6b的博客 720

类的修饰符大全 转载

Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非访问控制符两大类。修饰符之间的先后排列次序对类的性质没有任何影响。 一,非访问修饰符。 1, 抽象类: 凡是用abstract修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。 抽象类是一种...

yunshangbuhe1的博客 609

中兴B860AV2.1-A刷机避坑指南:晶晨免拆神器+安卓7.1.2固件实测

本文提供中兴B860AV2.1-A机顶盒的详细刷机教程,重点介绍使用晶晨免拆神器配合安卓7.1.2线刷固件包的实操步骤。内容涵盖刷机前的硬件确认、工具准备、软件设置、烧录全过程监控及常见问题解决,旨在帮助用户安全、高效地完成刷机,规避变砖风险,释放设备潜力。

pytorch8learner的博客 746

《缠中说禅108课》5:市场无须分析,只要看和干

喜欢吹牛皮的,在市场里最常见,例如一种以分析市场、吹牛皮为生的职业,叫什么股评、专家的。此类人不过是市场上的寄生虫,真正的猎手只会观察、操作,用嘴是打不了豺狼的。 市场就是一个狩猎场,首先你要成为一个好猎手,而一个猎手,首先要习惯于无言。如果真有什么真理,那真理也是无言的。可言说的,都不过是人类思想的分泌物,臭气熏天。真不可言说了,就无不可言,言而无言,是乃真言。 一个好的猎手,可以没有嘴巴,但一定会有一双不为外物所动的眼睛,在这眼睛下,一切如幻化般透明。要不被外物所动,则首先要不被自我所迷惑,其实..

BenRen1314的博客 800

Java修饰符:public,protected,private,不加修饰符。有什么区别呢?

如下表所示,Y表示能访问(可见性),N表示不能访问,例如第一行的第3个Y,表示类的变量/方法如果是用public修饰,它的子类能访问这个变量/方法 修饰符 类内部 同个包(package) 子类 其他范围 public Y Y Y Y protected Y Y Y N 无修饰符 Y Y Y或者N(见说明) N private Y N N N 说明: 需要特别说明“...

lixpjita39的专栏 1万+

HDR视频技术之七:逆色调映射

HDR 技术说是继 4K 之后视频领域的又一次重大技术突破,不仅提高图像的动态范围,同时也提供了更宽的色域,并提升了画面在高光和暗部的细节信息,带给观看者更加真实的视觉体验。但作为 HDR 产业链的核心,内容短缺的问题仍然是 HDR 普及和成熟的重要限制因素。众多电视厂商将 HDR 技术作为其产品规划中的重要技术,主要是在硬件方面进行提升。而由于 HDR 内容制作对于设备要求较高,对采集、调色、显示等多方面都需要较高的质量要求,内容制作的复杂度和周期长等因素,导致了 HDR 内容的匮乏。

多媒体开发者 2422

java中类成员如果没有修饰符其访问权限

如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注 意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外 就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录 的default package,可以相互调用class中的frie

Senssic 9624

macOS 发票查验全攻略:从证书导入到Safari调试

本文详细介绍了在macOS上进行发票查验的全流程,包括证书下载、钥匙串访问导入、Safari浏览器调试等关键步骤。重点解决了验证码不显示等常见问题,提供了证书信任设置和开发者工具使用的实用技巧,帮助用户顺利完成税务发票在线查验。

weixin_29204749的博客 545

基于 Cognex VisionPro 的工业级图像匹配技术全解析

通过本文的深度解析,开发者可以系统掌握 Cognex VisionPro 图像匹配技术的核心原理、开发流程、优化策略及工业级应用。实际项目中,需结合具体场景灵活调整参数,综合运用预处理、特征提取和匹配算法,构建稳定可靠的视觉系统。

品质生活,极致编程。 1594

java中无修饰符类,Java 中类和方法修饰符

Java 中类和方法修饰符类的修饰访问修饰符 修饰符 class 类名 extends 父类名称 implements 接口名称(notes: 访问修饰符符与修饰符的位置可以互换)访问修饰符名称说明备注pubic可以被所有类访问(使用)public 类必须定义在和类名相同的同名文件中package可以被同一个包中的类访问(使用)默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文...

weixin_33850918的博客 1047

执行任务赚积分

接下来N行,每行两个空格分隔的整数(SLA和V),SLA表示任务的最晚处理时间,V表 示任务对应的积分。每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。第2个时间单位内,处理任务4,获得5个积分。输入描述:第一行为一个数N,表示有N个任务,1

面试高手的博客 4694

Java常见的各种修饰符

分类 Java语言提供了很多修饰符,大概分为两类: 访问权限修饰符 非访问权限修饰符 访问权限修饰符 public:共有访问。对所有的类都可见。 protected:保护型访问。对同一个包可见,对不同的包的子类可见。 default:默认访问权限。只对同一个包可见,注意对不同的包的子类不可见。 private:私有访问。只对同一个类可见,其余都不见。 非访问权限修饰符 static 修饰符,用来创建类方法和类变量。 final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修

yh991314的博客 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java修饰符

java修饰符 文章目录java修饰符java中的修饰符分类:一,权限修饰符:private, default, protected, publicprivate:default:protected:public:二,状态修饰符:static, finalstatic修饰符语法格式:特点static静态变量静态变量与非静态变量的区别static静态方法final 修饰符1、final关键字通常与s...

dragon3100的博客 1988

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

Java 修饰符

抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。

Aforxiaoxie 1131

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java中修饰符总结

修饰符大致分为访问控制符和非访问控制符 修饰类 JAVA语言中有公共的(public),私有的(private),保护的(protacted)和默认的(default)四种访问控制符。其中针对外部类(内部类可当做成员变量理解),仅能使用公共的和默认的这两种访问控制符。 public级别 公共访问级别是类的访问控制级...

u012454084的博客 2878

Java常见修饰符

修饰类和方法。

duehebfbf的博客 2442

java中 最终的修饰符是_java的修饰符

Java的修饰符根据修饰的对象不同分为:1.类修饰符2.方法修饰符3.变量修饰符其中每种修饰符又分为访问控制修饰符和非访问控制修饰符1. 类修饰符访问修饰符:公共类修饰符public非访问控制符:抽象类修饰符 abstract 、最终类修饰符 final(1)公共类修饰符 public : Java 语言中类的访问控制符只有 public 即公共的。每个 Java 程序的有且只有一个类是 publ...

weixin_42134234的博客 721

java字段修饰符_java中的修饰符分为类修饰符,字段修饰符,方法修饰符

java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下几种。1、权限访问修饰符public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。包外子类包内类内publicyesyesyesyesprotectednoyesyesyesdefaultnonoyesyespriv...

weixin_36340890的博客 1080

Java语言的修饰符

类、方法、成员变量和局部变量的可用修饰符 修饰符类成员方法构造方法成员变量局部变量abstractYY___static_Y_Y_publicYYYY_protected_YYY_private_YY

cdsnmdl的专栏 7242

Java修饰符一篇就够

访问修饰符用于控制类、方法、变量的可见性范围,确保封装性和安全性。非访问修饰符用于添加额外功能或限制行为,不控制可见性。:保护关键方法或字段,限制非子类访问。:提供全局访问权限,确保跨包调用。:同一包内或不同包的子类可访问。:同一包内可见,无需显式修饰符。:定义抽象类或方法,需子类实现。:保证变量可见性,禁止指令重排。:类级别成员,与对象实例无关。:多线程共享变量安全访问。:不可修改、继承或重写。:节省内存,共享数据。:规范行为,延迟实现。:防止多线程数据竞争。:限制模块内部共享。:彻底隐藏实现细节。

qq_52460199的博客 1348

JAVA中的修饰符是什么意思_java中的修饰符

java中的修饰符主要分为两种访问修饰符和非访问修饰符,下面就是具体的介绍啦,balalallala一、访问修饰符1.default:无修饰符,可以使用的范围(对象,类,接口,变量,方法)2.private:在同一类内可见,使用范围对象,变量,方法(不能修饰类)类和接口不可被声明为private,只能被所属类访问,类中公共的gette,setterr方法被外部类访问idea中创建getter的快捷...

weixin_30324103的博客 1475
上一篇: Java的方法重载
下一篇: Java的引用与对象
practical_sharp
博客等级 码龄8年 499粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值