【Java类与对象】内部类的理解

我每天如何使用 ChatGPT 我偶尔会用这个功能作为开始。我本人非常喜欢阅读,让 ChatGPT 来概括所有文章,感觉就像身处于但丁描述的地狱的某个层次那样痛苦。然而,有时一些文章实在是太啰嗦、无聊,或者写得让人不愉快(比如一个无趣记者对一个让人讨厌的人进行的漫无焦点的采访)。我需要获取这些文章中的一些信息,以便保持信息的更新和了解。在晚期资本主义的广告经济下,很多文章只在一个段落里提供新信息,其余都是无聊的填充内容,只是为了展示糟糕的广告,这实在是对人们的时间和生命的一种浪费。我有几次利用 ChatGPT 来。 阅读详情

在 Java 中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类;

简单理解:
  我们在描述A事物的时候,发现描述的A事物内部还存在另外一个比较复杂的事物B时候,而且这个比较复杂事物B还需要访问A事物的属性等数据,那么这时候我们就可以使用内部类描述B事物。
比如: 人—>心脏

class 人{
	血
	氧气
	等....
		//心脏是直接可以访问血、氧气等,这就解释了内部类可以访问外部类的所有数据;
	class 心脏{ //好处:内部类可以直接访问外部类的所有成员(尽管是private)。
		……
	}
 }

内部类通用法则:

  1. 如果外部类与内部类存在同名的成员变量时,在内部类中默认访问内部类的成员变量。可以通过"外部类.this.成员变量名" 指定访问外部类的成员。
  2. 内部类是private,只能在外部类提供一个方法创建内部类的对象进行访问,不能在其他类创建对象了。
  3. 内部类一旦出现了静态(static)的成员,那么该类也必须使用static修饰。

内部类特性:
1、内部类经过编译后的class文件名:外部类$内部类。这样做的好处是便于区分该class文件是属于哪个外部类的。

内部类的访问格式:
A:当内部类定义在外部类的成员位置,而且非私有,则可以在其他外部类中直接建立内部类对象
格式:外部类名.内部类名 内部类对象名 = new 外部类对象().内部类对象()
   如:Outer.Inner in = new Outer().new Inner();

B:当内部类在外部类成员位置,且被static修饰时
 1)外部其他类可直接访问静态内部类的非静态成员
  格式:new 外部类名.内部类名().内部类成员
   如:new Outer.Inner().function();

 2)外部其他类可直接访问静态内部类的静态成员
  格式:new 外部类名.内部类名.内部类成员
    如:new Outer.Inner.function();

成员内部类

成员内部类法则:

  1. 成员内部类中不能存在static方法, 但是可以存在static域, 前提是需要使用final关键字进行修饰.
  2. 成员内部类是依附于外围类的,所以只有先创建了外围类才能够创建内部类。
成员内部类,调用外部类方法、变量
public class Main {
	private String outString = "Out Class Variable"; //外部类的变量str
	
	public void outMethod() {
		System.out.println("外部类方法!");
	}
	
	//成员内部类
	public class InnerClass {
		public void innerMethod() {
			System.out.print("在内部类方法中使用外部类成员变量,outString:");
			System.out.println(outString);
			
			System.out.print("在内部类方法中调用外部类成员方法:");
			outMethod();
		}
	}
	
	
	//获取内部成员,就像是类成员变量的getter和setter方法一样;
	public InnerClass getInnerClass() {
		InnerClass inClass = new InnerClass();
		//功能代码
		return inClass;
	}
	
	
	public static void main(String args[]) {
		Main outer = new Main(); //创建外部类对象
		
		Main.InnerClass inner = outer.getInnerClass(); //通过外部类对象调用getter方法获取内部类对象
		inner.innerMethod(); //调用内部类方法
	}
}

/* 输出:
在内部类方法中使用外部类成员变量,outString:Out Class Variable
在内部类方法中调用外部类成员方法:外部类方法!
*/

局部内部类

局部内部类,定义在方法里;
仔细阅读以下代码,体会局部内部类!

//功能:在一个方法内部定义一个类,然后调用run方法与sleep方法;
class Outer {
	public void print() {
		
		class Dog {
			public void run() {
				System.out.println("狗在跑。。。");
			}
			public void sleep() {
				System.out.println("狗在睡觉。。。");
			}
		}
		
		Dog d = new Dog();
		d.run();
		d.sleep();
	}
}

public class Main {
	public static void main(String  args[]) {
		Outer out = new Outer();
		out.print();
	}
}

/* 输出:
狗在跑。。。
狗在睡觉。。。
*/

局部内部类中变量的生命周期:

class Outer{
	String name= "外部类的name";
	
	public void test(){
		final int y =100;  //y什么时候从内存中消失?方法执行完毕之后y消失。
		
		//局部内部类
		class Inner{
/*
你务必要仔细看这段注释:
	当test方法执行完毕之后,那么y马上从内存中消失,而Inner对象在方法执行完毕的时候
还没有从内存中消失,而inner对象的print方法还在访问着y变量,这时候的y变量已经消失了,
那么就给人感觉y的生命变量已经被延长了。这是怎么回事?
	Java的解决方案: 如果一个局部内部类访问一个局部变量的时候,那么就让该局部内部类
访问这个局部 变量 的复制品。
*/
			int x = 10;

			public void print(){
				//如果局部内部类访问了一个局部变量,那么该局部变量必须使用final修饰
				System.out.println("这个是局部内部类的print方法.."+y); //这里访问的其实是y的复制品;
			}
		}
		
		Inner inner = new Inner();  //这个inner对象什么时候消失?Inner对象的生命周期比局部变量y的生命周期要长。
		inner.print();
	}
}

public class Main 
{
	public static void main(String[] args) 
	{
		Outer outer = new Outer();
		outer.test();
	}
}

匿名内部类

匿名内部类Syntax:

  1. 没有类名的类就称作为匿名内部类。
  2. 使用前提:必须存在继承或者实现关系才能使用。

匿名内部类特点:
1、只是没有类名,其他的一概成员都是具备的。
2、假设匿名内部类与Animal是继承的关系。可以这样想象:
     class 空 extends Animal() {}
但是在new对象时没有可写类名,怎么办呢?于是就直接写成父类的类名:Animal() {}; 不管它能不能实例化;

class Outer{
	public void print(){

		new Animal() { //是创建Animal子类的对象.  //这里十分难以理解,一定要耐心思考;
			//匿名内部的成员 
			public Animal run(){ //实现抽象方法;
				System.out.println("狗在跑..");
				return this;
			}
			public void sleep(){
				System.out.println("狗趴在睁开眼睛睡..");
			}
			public void bite(){//特有的方法
				System.out.println("狗在咬人..");
			}
		}.run(); //因为没有类名,故这样调用,且只可以调用一个方法;
		
		//如果把匿名类实例化一个对象出来!把上面的类修改为:
		/*Animal a=new Animal(){
			public Animal run(){ //实现抽象方法;
				System.out.println("狗在跑..");
				return this;
			}
			public void sleep(){
				System.out.println("狗趴在睁开眼睛睡..");
			}
			public void bite(){ //特有的方法
				System.out.println("狗在咬人..");
			}
		};
		a.run();//可调用多个方法;
		a.sleep();
		a.bite(); 特有方法不可调用!!!那么只能有局部内部类;
		*/
	}
}

class JavaMain 
{
	public static void main(String[] args) 
	{
		Outer outer = new Outer();
		outer.print();
	}
}

使用匿名内部类应该注意:
a)匿名内部类不能有构造方法
b)匿名内部类不能定义任何静态成员、方法和类。
c)匿名内部类不能是public,protected,private,static。

d)只能创建匿名内部类的一个实例。
e)一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。
f)因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。

静态内部类

静态内部类中可以写哪些内容
1)匿名代码块
2)静态代码块
3)静态变量和非静态变量
4)静态方法和非静态方法

外部类如何调用静态内部类中的属性和方法
1)外部类可以通过创建静态内部类实例的方法来调用静态内部类的非静态属性和方法
2)外部类可以直接通过“ 外部类.内部类.属性(方法)” 的方式直接调用静态内部类中的静态属性和方法

静态内部类如何调用外部类的属性和方法
1)静态内部类可以直接调用外部类的静态属性和方法
2)静态内部类可以通过创建外部类实例的方法调用外部类的非静态属性和方法

如何创建静态内部类实例
1)在非外部类中:外部类名.内部类名 name = new 外部类名.内部类名();
2)在外部类中:内部类名 name = new 内部类名();

尝试一下:

初次尝试
public class Outer {
    //定义一个实例变量和一个静态变量
    private int a;
    private static int b;
    
    //定义一个静态方法和一个非静态方法
    public static void say(){}
    public void test(){
        //在外部类中调用内部类的属性和方法
        Outer.Inner.c = 1;   //可以通过静态内部类的全类名来调用静态内部类的静态属性(外部类名.静态内部类名.属性)
        Outer.Inner.go();  //可以通过静态内部类的全类名来调用静态内部类的静态方法(外部类名.静态内部类名.方法)
        //Outer.Inner.walk(); //不能通过类静态内部类的全类名来调用内部类的非静态属性和方法
        Inner inner = new Inner();
        inner.d = 1;
        inner.walk();   //可以通过创建内部类实例来调用静态内部类的非静态属性和方法
    }
    
    //静态内部类
    public static class Inner{
        //在静态内部类中定义一个静态变量和一个实例变量
        static int c;
        int d;
        
        //定义一个匿名代码块和一个静态代码块
        {}    
        static{}
        
        //定义一个静态方法和一个普通方法
        public static void go(){}
        public void walk(){
            //在静态内部类中调用外部类的属性和方法
            int f = b;  //可以直接调用外部类的静态属性
            say();  //可以直接调用外部类的静态方法
            //int e = a;    直接调用外部类的非静态属性出错编译出错
            //test();     直接调用外部类的非静态方法时编译出错

            Outer outer = new Outer();
            int e = outer.a;    //可以通过创建外部类实例来调用外部类的非静态属性
            outer.test();   //可以通过创建外部类实例来调用外部类的非静态方法
        }
    }
}
泰森多面体Voronoi 3D-V5.0 功能介绍 Abaqus Voronoi3D 阅读详情

相关推荐

专治疑难系列 - 解决打印机凭证冲突问题

一、问题描述 二、解决方法 三、问题已解决

Passerby_Wang的博客 2万+

java 在内部类返回_Java内部类:如何在内部类中返回外部类对象

Nasted Class 的介绍,请详见参考今天讨论的不是不是内部类的概念,而是具体使用的一个场景-如何在内部类中返回外部对象看一段代码import java.util.LinkedList;import java.util.List;public class OuterClass{private List listeners = new LinkedList();public void addL...

weixin_39604045的博客 495

Immich vs Nextcloud照片管理实测:自建私有云相册到底选哪个?

本文深度评测了Immich与Nextcloud在私有云相册管理中的表现,涵盖核心功能、性能基准、本土化实践及进阶功能。Immich凭借微服务架构和AI优化在照片管理、移动端体验上表现优异,而Nextcloud则强在生态整合。文章还提供了Docker部署优化和国内网络适配方案,帮助用户根据需求选择最佳方案。

seed的博客 324

java内部类,与对象的理解

package equality; public class Parcel1 { class Contents{ private int i=11; public int value(){return i;} } class Destination{ private String label; Destination(String whereTo){ label=wh...

qq_41648092的博客 166

使用bandersnatch搭建pypi 本地镜像源(20211026)

需求背景:公司内网不能联网,同时开发工作需要各种python的模块,因此需要搭建一个pypi的本地镜像源。 参考网上的方法,总结了大致有下面几种方式搭建pypi本地源: devpi: 企业内网利用devpi搭建pypi私服 - 简书 pip2pi: https://yangfannie.com/1439.html pypiserver: https://zhongneng.github.io/2019/02/16/creat-pip/ bandersnatch:基于bandersnatch搭...

liurizhou的博客 6468

SAP PS 收入确认方法配置清单(成本推导收入 / 项目进度推导收入)

摘要:本文详细介绍了SAPPS模块中两种收入确认方法的配置流程:成本推导收入(成本比例法)和项目进度推导收入(里程碑法)。通过事务码OKG1-OKG5等关键配置步骤,分别实现基于累计成本比例和里程碑完成权重的收入确认逻辑。文章对比了两种方法的适用场景和管控要点:成本法适用于成本与进度强相关的项目,需严控预计总成本;进度法则依赖明确的里程碑验收。同时提供了落地建议,包括项目类型绑定、数据校验和变更管控等最佳实践,为SAPPS系统收入确认功能实施提供完整指导。

金牌架构师 952

类/对象/内部类

一 注意事项总结 1.1 构造方法 构造方法是没有返回值的;构造方法的名称要与本类的名称相同。 如果再类中定义的构造方法都不是无参的构造方法,则编译器不会为类设置一个默认的午餐构造方法,当试图调用无参构造方法实例化一个对象时,编译器会报错,所以只用在类中没有定义任何构造方法时,编译器才会在该类中自动创建一个不带参数的构造方法。 public class AnyThting { public AnyThting() { this("this调用有参构造方法"); } public AnyThti

weixin_45435381的博客 419

2025目标检测新方向:弱监督目标检测的最新论文研究与应用

2025目标检测新方向:弱监督目标检测的最新论文研究与应用 ,人工智能,计算机视觉,大模型,AI,本文聚焦2025年弱监督目标检测新方向,阐述其基础概念,包括弱监督学习定义、标注形式及面临的定位不准等挑战。介绍最新论文研究的多种算法,如基于点标注的算法等,还涉及相关模型、应用领域,以及评价指标、数据集、实现工具框架,分析未来趋势与补充挑战及解决方案,为该领域研究提供全面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

深入理解Java中为什么内部类可以访问外部类的成员

内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰。内部类就是一个经常让初学者感到迷惑的特性。 即使现在我自认为Java学的不错了, 但是依然不是很清楚。其中一个疑惑就是为什么内部类对象可以访问外部类对象中的成员(包括成员变量和成员方法)? 早就想对内部类这个特性一探究竟了,今天终于抽出时间把它研究了一下。 内

昨夜星辰的博客 3万+

《QGIS快速入门与应用基础》021:插件仓库 URL 获取与添加

详细介绍了在QGIS中添加第三方插件仓库的方法。首先强调必须从官方推荐、开源社区等可靠渠道获取插件仓库URL以确保安全性,并列出了4类可信获取渠道。文章分步骤讲解了URL添加流程,包括打开插件管理器设置面板、填写仓库信息、刷新缓存验证等操作。针对常见问题如URL格式错误、连接失败等提供了具体解决方案。最后总结指出,成功添加第三方仓库后即可直接搜索安装各类专业插件,从而扩展QGIS功能边界。全文注重实操指导,特别适合需要安装行业专用插件的QGIS用户参考。

LuckyHanMo的博客 464

基于高德地图的单车路径规划与绘制实战(Vue3 + TypeScript)【拓展:货车路径规划函数、限行检测、城市 Adcode】

✅ 支持单辆车路径规划✅ 自动绘制路线✅ 起点、终点、途经点标注✅ 自动缩放视野至全路径✅ 获取路线距离、时长、过路费✅ 提供清除功能✅ 路线信息保存至本文完整实现了一个基于高德地图 JS SDK + Vue3 + TypeScript的👉单车路径规划与绘制模块。核心亮点:清晰的结构;灵活的扩展性;实时路线信息记录(🚀 你可以很方便地将本模块集成到车联网、调度监控、地图展示类项目中。❤️ 如果这篇文章对你有帮助,别忘了:评论区交流 💬。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 1264

Java中非静态内部类为什么不能有static属性,而可以有final static常量(编译期常量)

Java中非静态内部类为什么不能有static属性 上面出错的原因: 首先我们要了解 对于JVM在类加载期间,初始化实例对象前需要完成对静态变量的初始化。 内部类静态变量d在外部类进行加载的时候则进行初始化(记住这里内部类还并没有被加载,内部类都还没加载凭什么加载其内部类中的静态变量,这个时候看1中所描述的,这样就存在矛盾)。 为什么非静态内部类又可以存在final static修饰的(运行...

qq_41381249的博客 615

SCADA|测试KingSCADA4.0信创版采集汇川PLC AC810数据

摘要:雷工分享KingSCADA4.0信创版采集汇川PLC数据的配置过程。由于项目繁忙,笔记更新延迟。信创产业要求采用国产化产品,此次通过ModbusTCP协议连接AC810 PLC。主要步骤包括:新建IOServer应用(需厂家协助从3.8升级至4.0)、安装ModbusTCP驱动、配置设备地址(192.168.1.88:5021)、运行IOServer并通过网页监控变量。尽管信创版操作体验较差,但出于国产化战略需要仍需使用。雷工表示理解产品初期不足,相信未来会逐步优化。2025年4月11日记录于四川绵阳

做有价值的事,积累有价值的笔记! 862

java中类与类的怎么联系在一起_对Java的面对对象编程中对象和引用以及内部类的理解...

最近利用下班的时候看了看的think in java感觉再看 和第一次看大不一样接下来说一下java中对象和引用的关系,以及内部类的概念。1、java中一切都是对象在java中是什么来操作者对象呢?答案是引用,这就好比C或者C++中的指针。如果用拥有一个引用,那么此时你必须让其和一个对象关联在一起,否则这个引用并不会像你想象的那样任由你的控制,例如你创建了一个String的引用:String s ...

weixin_39658759的博客 188

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java、C、C++:类、内部类、引用操作、对象成员变量及实体化对象的差异性技术解析

C语言:1972年诞生,主要支持过程式编程,不直接支持类和对象,但可用struct模拟。C++语言:1983年由Bjarne Stroustrup开发,在C基础上引入类、对象、继承等OOP特性。Java语言:1995年发布,完全基于对象,支持内部类、接口等高级OOP特性。这些语言的发展推动了软件工程的进步,尤其是在大型系统、嵌入式开发、企业应用等领域。C语言:结构体仅模拟类,无引用和内部类,成员变量直接访问。C++语言:类、对象、指针/引用、嵌套类,成员变量可私有/公有。Java语言。

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

lwip-2.0.3

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

Java——类和对象

C语言是一个面向过程的语言,而Java是一个面向对象的语言,强调类和对象的概念,以面向对象的方式来编写代码,本篇文章就带大家了解java中类和对象有关的内容。定义类使用class关键字,沿用上面的例子// 加速的行为// 刹车的行为// 转弯的行为上面三个是车的属性,叫成员变量,下面三个是车的行为,叫成员方法。这里面包含的内容统称为类的成员。构造方法(Constructor)是一种特殊类型的方法,在创建类的实例(对象)时用于初始化对象的特定属性。

2301_80817503的博客 1224

Javase.类与对象

在Java SE中,类与对象是面向对象编程的基石。类定义了对象的属性(成员变量)和行为(成员方法),而对象则是类的具体实例。通过实例化类,可以创建具有特定属性和行为的对象。封装是面向对象的重要特性,通过访问权限控制成员变量的可见性,实现数据的隐藏和保护。此外,静态成员变量和方法属于类本身,所有对象共享,而非静态成员则与具体对象相关联。Java中的内部类为封装提供了更灵活的方式,可以在一个类的内部定义另一个类。通过掌握类与对象的概念和特性,我们可以更有效地设计、扩展和维护大型Java程序

Joseit的博客 1069

类与对象

类与对象 文章目录类与对象数据类型基本数据类型引用数据类型枚举类型修饰符访问控制其他修饰符方法构造方法类方法对象方法变量类变量对象变量局部变量内部类非静态内部类静态内部类匿名内部类本地类 数据类型 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据 基本数据类型 java 中有 8 种基本...

Programmer Jett 923

Java类和对象

Java中类和对象的介绍,超详细~

Yuyiba的博客 274

Java基础:Java类与对象

面向对象程序设计(简称OOP)是当今主流的程序设计范型,它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 本篇主要记录内容包括:面向对象程序设计概述、静态域与静态方法、构造器、内部类。

栗筝i的博客 4925

【Java】类和对象

【Java】类和对象

qq_51236677的博客 815

如何讲清楚 Java 面向对象的问题与知识?(类与对象,封装,继承,多态,接口,内部类...)

二 Java面向对象 类和对象 1.1 什么是面向过程?什么又是面向对象? 面向过程——步骤化 面向过程就是分析出实现需求所需要的步骤,通过函数(方法)一步一步实现这些步骤,接着依次调用即可 面向对象——行为化(概念相对抽象,可结合下面的例子理解) 面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成类(类实例化后才是对象),创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为 1.1.1 能举个例子谈谈你对面向过程和面向对象的理解吗 例如我们设计一个桌球游戏(略过开

weixin_46699878的博客 226

Java ——对象 类 方法重载 构造方法 封装 内部类

本节重点思维导图 快捷键 生成代码:alt+shift+s 提取变量:alt+shift+L 快速复制行:alt+ctrl+向上或向下的箭头 删除行:ctrl+d 类:对同一种事物共同属性和行为的抽象 对象:根据类创建出来的具体的实物 方法重载 在同一个类中提供多个同名不同参的方法。 重载要求:方...

weixin_30561177的博客 279

java类和对象

java是一门纯面向对象的语言(Object Oriented Program),简称OOP,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依赖对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计,扩展以及维护都非常友好。在Java中定义类时需要用到class关键字。//创建一个Person的类//Person类中的成员变量(属性或者字段)//myMethod()是Person类中的成员方法");

2303_77535762的博客 821

java接口和类(十一)内部类的派生类

内部类的派生类:       public class car {     class wheel{         void run()         {             System.out.println("car run");         }     } } class horse extends car.wheel{      //派生类产生先要产生基

xiaotian15的专栏 477

Java的类与对象

在类内部定义的类,分为成员内部类、局部内部类、匿名内部类等。继承父类的属性和方法,支持方法重写(Override)。构造方法用于初始化对象,名称与类名相同,无返回值类型。修饰的成员属于类而非对象,可直接通过类名访问。通过父类引用指向子类对象,实现运行时动态绑定。是对象的模板,定义了对象的属性和方法。关键字实例化对象,并调用其属性和方法。是类的实例,具有具体的属性值和行为。限制直接访问属性,提供。

D_hdb的博客 227

JAVA——方法,类与对象的使用

方法语法格式/ 方法定义修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];示例一:实现一个函数,检测一个年份是否为闰年// 方法定义}else{注意:方法名采用小驼峰命名在java中定义类时需要用到class关键字,具体语法如下class为定义类的关键字,ClassName为类的名字,{}中为类的主体。field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法类中包含的内容称为类的成员。

2501_91555527的博客 1414
上一篇: 【Java类与对象】Object类的简单认识
下一篇: C++初识 — 从零开始的C++入门介绍
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值