
JAVA 回归之路
夜雨流云
这个作者很懒,什么都没留下…
展开
-
JAVA设计模式 之十 外观模式
外观模式(Facade模式)详解在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而降低系统的耦合度,这就是外观模式的目标。图 1 给出了客户去当地房产局办理房产证过户要遇到的相关部门。原创 2020-10-12 09:20:56 · 1477 阅读 · 0 评论 -
JAVA设计模式 之九 装饰模式
装饰模式(装饰设计模式)详解在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰模式来实现。装饰模式的定义与特点装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。装饰(Decorator)模式的主要优点有:采用装饰模式扩原创 2020-10-12 09:07:44 · 950 阅读 · 0 评论 -
JAVA设计模式 之八 桥接模式
桥接模式(Bridge模式)详解在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 m×n 种,不但对应的子类很多,而且扩展困难。当然,这样的例子还有很多,如不同颜色和字体的文字、不同品牌和功率的汽车、不同性别和职业的男女、支持不同平台和不同文件格式的媒体播放器等。如果用桥接模式就能很好地解决这些问题。桥接模式的定义与特点桥接(Bridge)原创 2020-09-30 08:52:58 · 319 阅读 · 0 评论 -
JAVA设计模式 之七 适配器模式
适配器模式(Adapter模式)详解在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,这时用适配器模式能很好地解决这些问题。模式的定义与特点适配器模式(Ad原创 2020-09-30 08:49:30 · 212 阅读 · 0 评论 -
JAVA设计模式 之六 代理模式
代理模式(代理设计模式)详解在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接访问真实对象,如某单位的内部数据库等。代理模式的定义与特点代理模式的定原创 2020-09-29 11:35:58 · 351 阅读 · 0 评论 -
JAVA设计模式 之五 建造者模式
建造者模式(Bulider模式)详解在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去组装计算机,然后再交给要买计算机的采购员。生活中这样的例子很多,如游戏中的不同角色,其性别、个性、能力、脸型、体型、服装、发型等特性都有所差异;还有汽车中的方向盘、发动机、车架、轮原创 2020-09-29 11:34:19 · 209 阅读 · 0 评论 -
JAVA设计模式 之四 抽象工厂模式
抽象工厂模式(详解版)工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如农场里既养动物又种植物,电器厂既生产电视机又生产洗衣机或空调,大学既有软件专业又有生物专业等。抽象工厂模式将考虑多等级产品的生产,将同一个具体工厂所生产的位于不同等级的一组产品称为一个产品族,图 1 所示的是海尔工厂和 TCL原创 2020-09-27 09:11:14 · 184 阅读 · 0 评论 -
JAVA设计模式 之三 工厂模式
工厂方法模式(详解版)在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?客户随意增删或改变对软件相关对象的使用呢?模式的定义与特点工厂方法(FactoryMethod)模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。我们把被创建的对象称为“产品”,把创原创 2020-09-27 08:56:16 · 296 阅读 · 0 评论 -
JAVA设计模式 之二 原型模式
原型模式(原型设计模式)详解在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。原型模式的定义与特点原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时原创 2020-09-22 10:44:52 · 350 阅读 · 0 评论 -
JAVA设计模式 之一 单例模式
单例模式(单例设计模式)详解在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式的定义与特点单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。在计算机系统中,还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对原创 2020-11-03 15:58:42 · 299 阅读 · 0 评论 -
JAVA高级,23种设计模式
Java的23种设计模式全面解析设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。这 23 种设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性原创 2020-09-14 10:12:27 · 378 阅读 · 0 评论 -
JAVA高级,JVM
JVM的基本概念JVM是可运行java代码的假想计算机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。JVM的运行过程我们都知道Java源文件,通过编译器,能够生产相应的 .Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成待定机器上的机器码。如下:① Java源文件 —->编译器 —->字节码文件② 字节码文件 —->JVM—->机器码每一种平原创 2020-09-14 10:07:02 · 159 阅读 · 0 评论 -
JAVA基础,网络编程
文章目录Java网络编程Java网络编程基础知识网络分类网络编程模型Client/Server 模式Browser/Server 模式网络协议IP 协议TCP 与 UDP 协议套接字和端口Java InetAddress类及其常用方法Java TCP通信:Java ServerSocket类和Socket类ServerSocket 类ServerSocket 的构造方法ServerSocket 的常用方法Socket 类Socket 的构造方法Socket 的常用方法客户端与服务器端的简单通信传输对象数据J原创 2020-08-21 10:30:31 · 710 阅读 · 0 评论 -
JAVA基础,多线程编程
文章目录多线程编程什么是线程多线程的实现方式继承 Thread 类实现 Runnable 接口两种方法的比较继承 Thread 类的优缺点实现 Runnable 接口的优缺点线程的生命周期及几种状态多线程之间访问实例变量非线程安全问题的解决方法synchronized线程方法curentThread()isAlive()sleep()getId()yieId()停止(终止)线程详解停止不了的线程判断线程是不是停止状态异常法停止线程在休眠中停止强制停止线程释放锁的不良后果使用 return 停止线程暂停/挂起原创 2020-08-20 08:41:49 · 280 阅读 · 0 评论 -
JAVA基础,输入/输出(I/O)流
文章目录Java 输入/输出(I/O)流什么是Java流什么是输入/输出流输入流输出流Java系统流File类详解获取文件属性创建和删除文件创建和删除目录遍历目录1. String[] list()2. String[] list(FilenameFilter filter)Java字节流的使用字节输入流字节输出流字节数组输入流字节数组输出流文件输入流文件输出流Java字符流的使用字符输入流字符输出流字符文件输入流字符文件输出流字符缓冲区输入流字符缓冲区输出流Java转换流Java 输入/输出(I/O)流原创 2020-08-20 08:32:21 · 277 阅读 · 0 评论 -
JAVA基础,注解&反射机制
文章目录注解 (非常重要)什么是注解基本注解@Override@Deprecated@SuppressWarnings@SafeVarargs@FunctionalInterface元注解@Documented@Target@Retention@Inherited@Repeatable@Native自定义注解类的写法注解的属性注解的本质注解属性类型注解成员变量赋值获取注解属性注解分类JDK 提供的注解使用注解进行参数配置注解的作用反射机制什么是反射是那么是java反射机制Java 反射机制的优缺点反射机制的原创 2020-08-19 09:11:29 · 355 阅读 · 0 评论 -
JAVA基础,集合框架(容器)
文章目录集合什么是JAVA集合Collection接口List集合ArrayList 类LinkedList类ArrayList 类和 LinkedList 类的区别Set集合HashSet 类TreeSet 类Map集合Map集合遍历Collections类排序(正向和逆向)查找、替换操作复制泛型泛型集合泛型类泛型方法泛型的高级用法1. 限制泛型可用类型2. 使用类型通配符3. 继承泛型类和实现泛型接口枚举(enum)声明枚举枚举类为枚举添加方法EnumMap 与 EnumSetEnumMap 类Enum原创 2020-08-19 09:02:58 · 367 阅读 · 0 评论 -
JAVA基础,异常
文章目录异常什么是异常?Throwable 类Java 内置异常类非检查性异常(运行时异常)检查性异常类 (非运行时异常)Error和Exception的异同异常方法异常的处理机制捕获异常多重捕获块finally关键字使用try-catch-finally 语句需注意:throws/throw 关键字:throws 声明异常方法重写时声明抛出异常的限制throw 拋出异常**throws 关键字和 throw 关键字在使用上的几点区别如下**:声明自定义异常通用异常Java.util.logging:JDK原创 2020-08-18 13:22:52 · 168 阅读 · 0 评论 -
JAVA基础,内部类
文章目录内部类实例内部类静态内部类局部内部类匿名内部类Java8新特性:Effectively finalLambda表达式Java Lambda 表达式的优缺点函数式接口Lambda表达式的使用访问变量访问成员变量访问局部变量方法引用内部类在类内部可定义成员变量和方法,且在类内部也可以定义另一个类。如果在类 Outer 的内部再定义一个类 Inner,此时类 Inner 就称为内部类(或称为嵌套类),而类 Outer 则称为外部类(或称为宿主类)。内部类可以很好地实现隐藏,一般的非内部类是不允许有原创 2020-08-18 13:15:27 · 152 阅读 · 0 评论 -
JAVA基础,内置包装类
文章目录内置包装类JAVA的装箱与拆箱装箱和拆箱Object类toString() 方法equals() 方法getClass() 方法接收任意引用类型的对象Integer类Integer 类的构造方法Integer 类的常用方法Integer 类的常量Float类Float 类的构造方法Float 类的常用方法Float 类的常用常量Double类Double 类的构造方法Double 类的常用方法Double 类的常用常量Number类Character类Boolean类Boolean 类的构造方法Bo原创 2020-08-17 09:36:09 · 368 阅读 · 0 评论 -
JAVA基础,数组
文章目录数组(Array)什么是数组数组也是一种数据类型一维数组创建数组分配空间初始化一维数组使用 new 指定数组大小后进行初始化使用 new 指定数组元素的值直接指定数组元素的值数组的访问获取单个元素获取全部元素二维数组(了解即可)创建二维数组初始化二维数组获取单个元素获取全部元素获取整行元素获取整列元素多维数组(了解即可)不规则数组Arrays 类Arrays类常用方法int binarySearch(type[] a, type key)int binarySearch(type[] a, int原创 2020-08-17 09:27:06 · 968 阅读 · 0 评论 -
JAVA基础,JAVA方法
文章目录JAVA方法什么是方法可变参数构造方法析构方法递归 算法main 方法JAVA方法Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字什么是方法Java方法是语句的集合,它们在一起执行一个功能。使用代码的时候,直接找到名字调用即可。这就是方法方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序原创 2020-08-16 11:18:32 · 129 阅读 · 0 评论 -
JAVA基础,数据处理
java 从入门到放弃文章目录JAVA数据处理字符串处理Java定义字符串直接定义字符串使用 String 类定义1. String()2. String(String original)3. String(char[ ]value)4. String(char[] value,int offset,int count)String&int相互转换String转换为intint转换为StringvalueOf() 、parse()和toString()valueOf()parse()toStr.原创 2020-08-16 11:06:18 · 576 阅读 · 0 评论 -
JAVA基础,抽象类&接口
文章目录抽象类&接口抽象类抽象方法抽象类总结接口定义接口实现接口接口与类的区别:接口特性抽象类和接口的区别抽象类&接口抽象类Java语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。下面来说一下抽象类。在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类原创 2020-08-14 09:24:47 · 131 阅读 · 0 评论 -
JAVA基础,面向对象
文章目录面向对象面向过程 & 面向对象什么是面向对象对象的概念面向对象的三大核心特性继承性封装性多态性Java类和对象Java类的定义类定义java类属性Java成员方法1. 成员方法的返回值2. 形参、实参及成员方法的调用3. 方法体中的局部变量Java this关键字this.属性名this.方法名this( )访问构造方法Java对象的创建显式创建对象1. 使用 new 关键字创建对象2. 调用newlnstance() 实例方法3. 调用对象的 clone() 方法4. 调用 readObj原创 2020-08-14 09:18:58 · 369 阅读 · 0 评论 -
JAVA入门,数据类型
数据类型通过上一节,明白了变量就是申请内存来存储值,即当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。Java 是一种强制类型的语言,所有的变量都必须先明确定义其数据类型,然后才能使用。Java 中所有的变量、表达式和值都必须有自己的类型,没有“无类型”变量这样的概念。Java 语言支持的数据类型分为两种:内置数据类型/基本数据类型 & 引用数据类型基本数据类型(prim原创 2020-08-11 10:51:31 · 114 阅读 · 0 评论 -
JAVA入门,常量&变量
常量常量是指在程序的整个运行过程中值保持不变的量。注意:常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。常量值常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。整型常量值Java 的整型常量值主要有如下 3 种形式。十进制数形式:如 54、-67、0。八进制数形式:Java 中的八进制常数的表示以 0 开头,如 0125 表示十进制数 85,-013 表示十进制数 -原创 2020-08-11 10:43:03 · 211 阅读 · 0 评论 -
JAVA入门,流程控制
流程控制顺序结构JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间都是按从上到下的顺序进行的,它是有若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。选择结构Java 支持两种选择语句:if 语句和 switch 语句。其中 if 语句使用布尔表达式或布尔值作为分支条件来进行分支控制,而 switch 语句则用于对多个整型值进行匹配,从而实现分支控制。这些语句允许你只有在程序运行时才能知道其原创 2020-08-10 10:29:46 · 236 阅读 · 0 评论 -
JAVA入门,运算符
运算符计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。Java 语言中的运算符除了具有优先级之外,还有一个结合性的特点。当一个表达式中出现多种运算符时,执行的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的约束,以便确定是自左向右进行运算还是自右向左进行运算。这些运算符按照操作数的数量可以分为单目运算符、双目运算符和三目运算符。最基本的运算符包原创 2020-08-10 08:53:05 · 212 阅读 · 0 评论 -
JAVA入门,标识符&修饰符
标识符(Identifier )标识符是程序员用来命名变量,方法,类或标签的单词,其实就是我们在开发过程中凡是自己可以命名的一些单词就是标识符标识符命名规则标识符由字母(a-z,A-Z),数字(0-9),下划线(_)和美元符号($)组成标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线标识符不能与关键字重名标识符是大小写敏感的标识符命名规范驼峰命名法:当变量名或函数名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字原创 2020-08-09 09:27:49 · 309 阅读 · 0 评论 -
JAVA入门,关键字&保留字
关键字 & 保留字关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。例如, class 就是一个关键字,它用来声明一个类。public 也是关键字,它用来表示公共类。另外,static 和 void 也是关键字。关键字(keyword)Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。关键字描述import表明引原创 2020-08-09 09:05:26 · 425 阅读 · 0 评论 -
JAVA入门,注释
注释(comment)在Java的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,所以我们需要进行一些注释,可以是编程思路或者是程序的作用,总而言之就是方便自己他人更好的阅读。注释是对程序语言的说明,有助于开发者和用户之间的交流,方便理解程序。注释不是编程语句,因此被编译器忽略。单行注释单行注释是最常用的注释方式。以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方。public class FirstSample{ // main 方法,Java原创 2020-08-08 18:18:20 · 201 阅读 · 0 评论 -
JAVA语言,什么是JAVA?
文章目录什么是 java?JAVA三大体系Java SEJava EEJavaMEjava的主要特性和优势1. 面向对象2. 平台无关性3. 可移植性4. 简单性5. 解释执行6. 多线程7. 分布式8. 健壮性9. 高性能10. 安全性11.动态性java程序的运行机制JDK 、JRE、JVMjava的编程规范什么是 java?Java 是近 10 年来计算机软件发展过程中的传奇,其在众多开发者心中的地位可谓“爱不释手”,与其他一些计算机语言随着时间的流逝影响也逐渐减弱不同,Java 随着时间的推移反原创 2020-08-08 17:56:55 · 251 阅读 · 0 评论 -
JAVA语言,JAVA的诞生和发展史
java的诞生在1991年时候,James Gosling在Sun公司的工程师小组想要设计这样一种主要用于像电视盒这样的消费类电子产品的小型计算机语言。这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行。另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。最初这个语言命名为“Green”,类似于绿色软件的意思。其原先的目的是为家用消费电子产品开原创 2020-08-07 09:25:34 · 1435 阅读 · 0 评论 -
序章: 语言的诞生
序章: 语言的诞生第一代:机器语言自1946年2月14日世界上首款计算机问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大。这种语言本质上是计算机能识别的唯一语言,人类很难理解。(其实就是基于二进制转换的 0 和 1 的代码)第二代:汇编语言为了能让人们更容易理解并编写,于是便有了第二代的“汇编语言”,相比机器语言,汇编语言大大前进了一步,尽管它还是太复杂,人们在使用时很容易出错误,但毕竟许多数码已经开始用字母来代替。简原创 2020-08-07 09:19:35 · 1322 阅读 · 0 评论 -
JAVA学前了解,DOS常用命令
什么是 DOS ?DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统。常见的DOS有两种:IBM公司的PC-DOS ** 和 微软公司的MS-DOS,它们的功能、命令用途格式都相同,我们常用的是MS-DOS**。DOS的打开方式开始 -> 系统 -> 命令提示符Win + R 输入cmd 打开控制台(推荐)在任意文件夹,按住shift + 鼠标右键,在此处打开命令窗口资源管理器的地址栏上面直接输入cmdDOS的常用内部命令DOS的内部原创 2020-08-07 09:11:28 · 122 阅读 · 0 评论 -
JAVA学前了解,Windosws常用快捷键
前言:windows 常用快捷键标准计算机键盘共104键,除了26个字母键、符号键、数字键外,剩下的都是一些功能键:键盘功能键常用功能键:Esc、Tab、Caps Lock、Shift、Ctrl、Alt、空格、Enter(回车)、win、BackSpace、↑ ↓ ← → 等常用快捷键:全选、复制、粘贴、剪切、撤销、保存、关闭窗口、运行、删除等其实还有很多快捷键,不过我们在开发中下面这些就足够了常用快捷方式按键操作Ctrl + X剪切Ctrl + C(或 Ctrl原创 2020-08-06 09:27:29 · 172 阅读 · 0 评论