Java中什么是继承?「图文分析」继承的概述

【java】java JUC 同步器框架 AQS AbstractQueuedSynchronizer源码图文分析 1.概述 AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如ReentrantReadWriteLock,SynchronousQueue,FutureTask等等皆是基于AQS的。当然,我们自己也能利用AQS非常轻松容易地构造出符合我们自己需求的同步器。 2.AQS 核心思想 AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态. 阅读详情

面向对象的3大特征:封装性、继承性、多态性

继承是多态的前提,如果没有继承就没有多态

继承主要解决的问题:共性抽取

共性抽取就是解决重复代码的意思

举个现实当中的例子:

背景:某大型公司

软件工程师  财务人员  公司员工

这三者有什么关系呢?

从上图我们能看到软件工程师与人员同属于公司员工

 

 

公司员工也应该有 姓名性别和工号,我们要提取软件工程师和财务人员的共同属性到公司员工里面

图2可以进一步修改为

 

仅仅保留软件工程师特有的方法敲代码,和财务人员特有的方法算账

为了使图片更加直观我们做一个最终版本

 

公司员工类是父类,软件工程师和财务人员是子类

 

父类也可以叫基类、超类,子类也可以叫派生类

 

总结:

从上文可以看出来

继承关系中的特点:

1、子类可以拥有父类的 “内容”

2、子类还可以有自己特有的方法

【黑马点评】项目知识点及面经整理 阅读详情

相关推荐

5套高颜值AI漫剧女主设定图!直接拿去做漫剧(附完整提示词)

左侧特写放大表现暖棕眼妆、豆沙唇、红宝石首饰、发丝与针织纹理,四个视图严格保持同一人物脸模、发色、服装、首饰和身体比例,柔和复古棚拍光,低饱和酒红与奶油色配色,真实布料、皮革、金属与宝石材质,高级精致角色资产设定图,高清8K。佩戴珍珠与透明水晶耳坠、纤细珍珠项链;左侧特写放大至胸部以上,清晰表现皮肤、眼妆、发丝、耳饰和针织材质,人物四个视图保持同一脸模、发型、服装、饰品和身体比例,柔和棚拍漫射光,轻微地面阴影,高级细腻材质,真实发丝,细腻皮肤,高精度角色资产设定图,高清8K质感。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1773

Java 继承是什么?

继承是面向对象最显著的一个特性。 继承是从已有的类中派生出新的类, 新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 简单来说,就是你父亲有的东西,你就不用再自己去创建了;减少不必要的创建,实现拿来主义的最好证明。 继承优点: 1、子类拥有父类非 private 的属性、方法。 2、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。 3、子类可以用自己的方式实现父类的方法。 4、Java 的继承是可以单继承和多重继承,也可以不同类的继承组成兄弟关系,同一个源头不同的个人。 继承缺点:

唐衡三 7049

lammps教程:聚合物压缩,避免“bond atoms missing”

如果使用ms建模,聚合物的链会伸出到盒子外面,在导出data文件后,盒子外面的原子被周期性算法折叠进盒子对面,这就造成了边界附近的bond原子可能被分布到了盒子的两侧。并且,这个data文件不能使用npt系综进行压缩,npt系综必须使用周期性边界,在压缩时,bond原子同样会移动到对面的边界。所以,最好的解决办法是使用一个反射墙墙进行压缩,设置一个反射墙墙既可以实现压缩效果,也可以组织原子跨越box边界移动到对面。解决这个问题的原则只有一个:导出data时确保所有的bond原子没有跨越边界。

lammps_jiayou的博客 3820

JAVA基础知识点继承详解

继承是指一个类(子类)可以继承另一个类(父类)的属性和方法。子类可以在继承的基础上进行扩展和重写,从而实现代码的复用和灵活性。在Java中,使用extends关键字来实现继承。public class 子类名 extends 父类名 {// 子类的属性和方法在子类中,可以继承父类的属性和方法,并定义自己的属性和方法。

weixin_44251099的博客 2661

QGis二次开发 —— 5、基于qgis开发多种在线地图预览,并加入经纬度坐标显示等(附:源码)

QGis二次开发 —— 5、基于qgis开发多种在线地图预览,并加入经纬度坐标显示等(附:源码

370

华为昇腾云平台适配Baichuan2大模型记录

文件发现报错:ValueError: The pipeline stage 2 in auto_parallel_context is not equal to the pipeline_stage 1 in the config.run_baichuan2_7b.yaml`,发现默认设备数是16卡,对应的pipeline_stage为2,但实际是8卡,那就改成下面的试试看。,将Baichuan2_7B_Chat.ckpt文件复制进去,将。点击镜像管理,突然发现有个2_2_0,赶紧新建了一个,成功。

羊城迷鹿的博客 2393

015——继承(来 , 看看Java中的继承关系)

继承就是java允许我们用extends关键字,让一个类和另一个类建立起一种父子关系。Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起父子关系。}Student称为子类(派生类),People称为父类(基类 或超类)。作用:当子类继承父类后,就可以直接使用父类公共的属性和方法了子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据。子类初始化之前,一定要调用父类构造器先完成父类数据空间的初始化。

遇事不决 , 可问春风 3010

计算分子相似度(摩根分子指纹计算)

import numpy as np import pandas as pd import seaborn as sns import matplotlib as plt from rdkit.Chem import Draw from rdkit.Chem import AllChem as Chem from rdkit.Chem import PandasTools from rdkit import DataStructs data = pd.read_csv(r'47_covidLead.csv'

weixin_39417324的博客 1388

Java学习之继承

一、继承的实现1、继承的概念(1)概念继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法(2)格式继承通过extends实现格式:class 子类 extends 父类 { }举例:class Dog extends Animal { }(3)好处继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。(4)继承的好处和弊端弊端。

qq_53723728的博客 4454

【华为OD机试】创建二叉树(python, java, c++, js)

请按下列描达构建一颗二叉树,并返回该树的根节点: 1、先创建值为-1的根结点,根节点在第0层; 2、然后根据operations依次添加节点: operations[i] = [height, index] 表示对第 height 层的第index 个节点node, 添加值为i 的子节点: 若node 无「左子节点」。则添加左子节点; 若node 有「左子节点」但无「右子节点」,则添加右子节点: 否则不作任何处理。 height、index 均从0开始计数;index 指所在层的创建顺序。

A_D_I_D_A_S的博客 188

黑猫带你学UFS协议第17篇:UFS安全模式详解(Secure Mode)

本文详细介绍了UFS协议中的安全模式,包括Erase, Discard, Purge和Wipe Device操作。Erase用于永久删除数据并确保无法恢复;Discard不保证数据清除;Purge类似于Sanitize,清除内部未映射的物理块数据;Wipe Device则是格式化设备。这些操作涉及逻辑单元、擦除单位、相关寄存器配置等,确保数据安全。" 126036669,12409270,MySQL 8.0 开窗函数详解,"['数据库理论', 'SQL']

黑猫奥利奥的博客 2563

Java---继承详解

就是子类继承父类的和,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的的属性和行为。

fly的博客 6177

想使用dify实现docx文档的自动生成?试了一圈,感觉还是根据python-docx更靠谱

在软件开发过程中,需求文档、设计文档等材料的编写是每个开发者都绕不开的工作。最近笔者接到一个需要批量生成标准化需求文档的任务,尝试了目前热门的低代码工具Dify后,发现对于稍微复杂格式的文档生成需求(例如文本居中这么简单的需求),最终还是回归到基于python-docx库的解决方案。本文将分享两种技术路线的对比实践。

xiezhipu的博客 2549

Java中继承(extends)的格式「图文分析」

关键词:extends 翻译:v. 延伸;扩充;继承(extend的第三人称单数形式)//可见我们经常用的extends本身的意思就是继承 关系:is-a 公司员工包含软件工程师、财务人员 公司员工是父类,软件工程师、财务人员是子类 软件工程师就是一个公司员工,财务人员就是一个公司员工 //这句话可以引申为子类就是一个父类 定义父类的格式:(一个普通的类定义) public class 父类名称{ //程序语句 } 定义子类格式: public class 子...

崔凯洋的博客 578

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Java继承构造方法的访问特点「图文分析」

Java继承构造方法的访问特点: 1、子类构造方法中有一个默认隐含的super()调用,所以一定是先调用的父类构造,后执行的子类构造 2、子类构造可以通过super关键字来调用父类重载构造 3、super的父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super构造 4、子类必须调用父类构造方法,不写则默认瘾式赠送一个super();写了则用写的指定的super调用,super只能有一个,还必须是第一个 详细: 1、子类构造方法中有一个默认隐含的s...

崔凯洋的博客 315

深度学习工具包 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继承中成员变量的访问特点「图文分析」包含继承中重名访问的特点

首先我们先定义一个父类,名字就叫Fu 定义父类就是一个普通的类定义 package com.test.demo02; public class Fu { int numFu = 10; } 接着我们定义一个子类,名字就叫Zi 定义子类是普通类定义加上继承关键字extends package com.test.demo02; public class Zi extends Fu { int numZi =20; } 接下来我们定义一个带有main方法的测试类..

崔凯洋的博客 341

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java 微信图文发送 后台_使用Java语言开发微信公众平台(四)——图文消息的发送与响应...

在上一篇文章中,我们实现了被关注回复与关键词回复功能。在用户关注的时候自动推送功能菜单,并根据用户输入的关键词,回复特定信息。但是,我们只能回复文本消息给用户,如何才回复一条图文消息呢?本周,我们一起来学习一下微信公众平台开发之【图文消息的发送与响应】一、了解图文消息XML包结构相信一直学习我们系列博文的同学,一定了解我们的“套路”了,首先,我们要来了解一下图文消息的XML包结构。微信官方提供如下...

weixin_29824417的博客 296

Java继承中成员方法的访问特点「图文分析」+重名成员方法的访问特点

Java继承中成员方法的访问 直接上图 不多说了,太简单了 ===================================华丽的分割线==================================== 重名成员方法的访问特点 在父子类继承关系中,创建子类对象,访问成员重名方法特点 创建的对象是谁,就优先用谁,如果没有将向上找 无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类 ...

崔凯洋的博客 157

Java super关键字的三种用法「图文分析」

Java super关键字的三种用法 1、在子类的成员方法中,访问父类的成员变量 2、在子类的成员方法中,访问父类的成员方法 3、在子类的构造方法中,访问父类的构造方法 图片笔记:

崔凯洋的博客 199

C、C++、Java 访问权限修饰符与继承关系深入解析

C语言(1972年,Dennis Ritchie):过程式编程,无访问修饰符,靠头文件和作用域控制访问。C++(1983年,Bjarne Stroustrup):引入类、继承和访问修饰符(public、protected、private),支持多继承。Java(1995年,James Gosling):面向对象彻底,访问修饰符更细致(public、protected、private、default),单继承多接口,注重安全和跨平台。C 语言不支持类和访问修饰符,靠作用域实现数据隐藏。

IT技术学习与工作笔记分享 648

【甘货合集】Java其实很好学,但是你需要知道在“爪哇”的世界里“你究竟在哪?”

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。而且目前而言,就连能够扛过“双11”的淘宝、天猫的底层架构也是J

weixin_51393513的博客 105

Java基础文档,图文并茂+代码实例

写在前面: 本文为本人在期末复习时临时撰写的java复习文档,其中引用的他人内容均已添加链接.吐血整理数万字+数十张图片+示例代码,希望本文能对你有所帮助. 1.java概述 一次编程,到处运行 .java文件经过编译器变为.class字节码,在JVM上运行 public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); } } .

yirenDM的博客 1474

Java【快速排序】算法, 凭什么以 “快速“ 冠名?

学数据结构与算法怎么少得了排序? 七大排序算法的大哥[快速排序] 详细图解 , 结尾附[总体对比分析]

yzhcjl_的博客 859

Java【手撕双指针】LeetCode 1089. “复写零“, 图文详解思路分析 + 代码

「数组分两块」是⾮常常⻅的⼀种题型,主要就是根据⼀种划分⽅式,将数组的内容分成左右两部分。这种类型的题,⼀般就是使⽤「双指针」来解决

yzhcjl_的博客 407

idea查看java类方法_用IntelliJ IDEA看Java类图的方法(图文)

看代码的遇见子类或者接口的实现时,如果有个类图工具就能让我们层次和关系一目了然,如果您的IDE是IntelliJ IDEA,推荐使用其自带的类图功能;工具版本社区版不带类图功能,所以请使用完整版,以下是我用的版本信息:使用类图功能以Spring源码的工程为例,假设我已经打开了ApplicationContext.java,在这个类的大括号内的区域点击右键,选择Diagrams -> Show...

weixin_29948389的博客 2040

Java中由继承得到的类成为_【填空题】Java中由继承而得到的类成为________,被继承的类称为父类。...

参考答案如下填空题【论述题】撰写校园建筑参观的情况总结,主要内容是针对建筑的结构形式建筑的构造和材料,建筑物理环境等情况。也就是主要从技术角度去看去分析校园内建筑的情况。要求图文并茂,可以是照片手绘等图。字数(不包括图)要求不少于1000字。由继【判断题】外汇有三种标价法。承而成为承【单选题】一般来说,对于通信量大的高速局域网,为了获得更高的性能,应该选用( )。得到的类【简答题】201...

weixin_39588542的博客 311
上一篇: Macbook安装Tomcat实现浏览器访问localhost:8080
下一篇: Java中继承(extends)的格式「图文分析」
崔凯洋
博客等级 码龄6年 26粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值