Matlab_Simulink动力学系统建模与仿真
《Matlab/Simulink动力学系统建模与仿真(第2版)》主要介绍了动力学系统中微分方程模型、传递函数模型和状态空间模型等建立的基础理论,并引入了Simulink仿真技术,为解决复杂动力学问题(特别是不易得到解析解的动力学问题)提供了方法。 《Matlab/Simulink动力学系统建模与仿真(第2版)》编排了较多的例题来说明各类动力学模型的仿真模型的建立方法,以及差分模型、相似模型、时域和频域等仿真模型,最后将控制动力学基础知识作为后继研究的扩展内容做了介绍。 《Matlab/Simulink动力学系统建模与仿真(第2版)》是一本多学科内容相交又的教材,同时涉及了力学、电学和动内容简介本书主要介绍了动力学系统中微分方程模型、传递函数模型和状态空间模型等建立的基础理论,并引入了 Simulink仿真技术,为解决复杂动力学问题(特别是不易得到解析解的动力学问题)提供了方法。书中编排了较多的例题来说明各类动力学模型的仿真模型的建立方法,以及差分模型、相似模型、时域和频域等仿真模型,最后将控制动力学基础知识作为后继硏究的扩展内容做了介绍。本书是一本多学科内容相交叉的教材,同时涉及了力学、电学和动力学控制等学科的交叉知识。本书适合具有一定数学和力学基础知识的理工科专业的本科高年级学生使用,可以作为机械工程、土木工程、车辆工程和仪器仪表、印刷机械等本科高年级学生和相关专业的研究生在学习有关动力学系统建模与仿真内容时的参考书,还可供相关工程技术人员参考。图书在版编目(CIP)数据Matlab/ Simulink动力学系统建模与仿真/黎明安,钱利编著.-2版.一北京:国防工业出版社,2015.7ISBN978-7-118-102055L.①M..Ⅱ.①黎.②钱..Ⅲ.①计算机辅助计算—应用—动力系统一系统建模②计算机辅助计算一应用—动力系统一系统仿真Ⅳ.①TP391.75②019中国版本图书馆CP数据核字(2015)第138118号※宫原社出版发行(北京市海淀区紫竹院南路23号邮政编码100048)天利华印刷装订有限公司印刷新华书店经售开本787×10921/16印张19字数456千字2015年7月第2版第1次印刷印数1—3000册定价49.00元(本书如有印装错误,我社负责调换)国防书店:(010)8854077发行邮购:(010)88540776发行传真:(010)88540755发行业务:(010)88540717前言本书是在为“工程力学”本科专业开设的“动态系统建模与计算机仿真”课程基础上多次改编而成的。本书一开始就采用了模型框图,使学生在学习过程中掌握和使用仿真框图的表示方法,为今后建立仿真模型奠定基础。本书结合了 Simulink仿真平台的基础知识,学生可以在各章的例题中学会 Matlab基本的编程能力和 Simulink基本模块的应用;将 Simulink的基础知识分散到各个章节中由浅入深地讲授,使学习者容易接受。本书第1版于2012年出版,此次在第1版的基础上修改了部分错误,个别习题也做了调整,使内容编排更趋于合理。全书分为10章,第1章~第3章介绍了建模与仿真的数学力学基础知识和以框图来表示模型的方法,主要以微分方程模型为主线介绍了简单仿真模型的建立。第4章介绍了系统的传递函数模型以及面对传递函数的仿真模型的建立。第5章介绍了状态空间模型。第6章介绍了基于采样的将连续系统离散化的方法。第7章介绍了机电相似模型。第8章介绍了动力学系统的时域瞬态响应分析方法。第9章介绍了频域分析方法。第10章介绍了控制动力学基础。全书贯穿了 Matlab/ Simulink仿真技术。本书中的仿真例题均在 Matlab(R2007a)下调试通过,希望读者在该版本下建立仿真模型本书由西安理工大学师俊平教授、王忠民教授审阅,两位教授对本书内容的编写提出了宝贵的修改意见,研究生雷霜、崔凯和朱晓雄等对初稿进行了认真的校对,在此表示衷心感谢。西北工业大学支希哲教授、朱西平教授,空军工程大学冯立富教授,陕西理学院张宝中教授,西安科技大学郭志勇教授,西安理工大学徐开亮博士等在编写过程中给予了大力帮助,在此表示深切感谢由于水平有限,本书还有很多需要改进的地方,敬请使用者提出宝贵意见。编著者Ⅲ目录绪论…………………………………………………………………………1第1章系统建模与仿真基础…………1.1系统仿真模型框图表示法·4441.1.1基本仿真元件………1.1.2简单仿真框图结构51.2拉普拉斯变换…1.2.1拉普拉斯变换的定义及其性质1.2.2拉普拉斯逆变换………………………………111.2.3拉普拉斯变换在求解线性常系数微分方程中的应用1.3z变换与Z逆变换…161.3.1Z变换的定义1.3.2Z变换的应用…171.4矩阵的特征值与特征矢量…181.4.1标准特征值问题…191.4.2广义特征值问题1.4.3相似变换及其特性…………………………………………21习题5第2章动力学系统的微分方程模型………………………………………282.1动力学建模基本理论…………………………………………………282.1.1动力学系统基本元件…282.1.2动力学建模基本定理…………………………292.2哈密顿动力学建模体系382.2.1拉格朗日方程2.2.2哈密顿原理2.3一维弹性体的有限元建模………422.3.1梁单元质量矩阵与刚度矩阵…422.3.2总体系统动力学微分方程………………………………442.4一维弹性体系统的假设模态法482.4.1模态函数……………………………………………482.4.2系统的动能和势能…………………492.4.3系统的动力学方程2.5 Simulink高级积分器的仿真模型建立…512.5.1高级积分器端口………522.5.2高级积分器在仿真中的应用…………………………52习题………………………………………………………………………………………54第3章动力学系统响应分析的数值方法……583.1数值积分法和数值微分法…583.1.1数值积分法………………………………………………………………583.1.2数值微分法……593.1.3多自由度振动系统的差商模型…………………………………633.2龙格一库塔法……653.2.1二阶龙格一库塔法………653.2.2四阶龙格一库塔法……………………………………………663.3四阶龙格一库塔法仿真程序设计673.3.1求解一阶微分方程四阶龙格一库塔法程序设计……………………673.3.2求解一阶微分方程组的四阶的龙格一库塔法程序设计693.3.3高阶微分方程的四阶龙格一库塔法程序设计703.4隐式逐步积分法…………………………………………………723.4.1线性加速度法723.4.2威尔逊θ法…3.5微分方程的边值问题的求解…………………763.5.1解线性方程边值问题的差分方法……………………………………763.5.2解线性方程边值问题的打靶法(试射法)…773.5.3关于三对角矩阵的追赶法程序设计……·,,,,,,,,,,,,.,,,,……793.6关于 Simulink环境中的求解器 Solver803.6.1常用求解器…………………………………………803.6.2求解器的选择813.7Malb中符号微积分……………823.7.1符号微分与符号积分……………………………………823.7.2利用符号运算求解微分方程习题……………………………………………………………………884第4章系统传递函数模型84.1传递函数及其特性…4.1.1传递函数定义……………884.1.2传递函数的特性…4.1.3传递函数的图示方法…894.2基本环节的传递函数……………………894.2.1比例环节……………………904.2.2一阶延迟环节4.2.3微分环节914.2.4积分环节…………914.2.5振荡环节………………914.3传递函数的其他形式934.3.1传递函数的零极点形式……………………………………………934.3.2传递函数的留数形式…………………………………………934.3.3传递函数的串联、并联与反馈连接形式944.3.4控制系统的开环传递函数……………………………………974.4多自由度振动系统的传递函数模型……………1014.4.1直接方法,..,.,,...,,,,,,.,·,,,,,,,,,..,·.、,,,,,,,,,,,,··,1014.4.2模态分析法…1035传递函数模型的 Simulink仿真模型建立…………………1054.5.1与传递函数相关的 Matlab运算指令…1054.5.2传递函数模型的 Simulink仿真模型建立…1084.6弹性系统的传递函数仿真模型…1114.6.1弹性系统的传递函数1114.6.2传递函数 Simulink仿真模型………………………………………………112习题113第5章动力学系统状态空间模型1175.1动力学系统的状态空间模型………………1175.1.1状态空间方程的一般形式1175.1.2化高阶微分方程为状态方程——不含输入导数情况……………………1185.1.3线性多自由度振动系统的状态空间模型1215.2微分方程模型与状态空间的关系1235.2.1微分方程模型与状态空间模型特征对的关系……………………1235.2.2系统含有输入导数的状态空间模型1235.3状态空间的相似变换…………………………………………1295.3.1一般情况…1295.3.2特殊情况(可控标准型的情况)…………………1305.4系统的状态空间模型与传递函数模型之间的转换……1315.4.1从状态空间模型转换为传递函数模型……………………1315.4.2模型转换 Matlab函数1325.4.3传递函数模型转换为状态空间模型的直接方法∴……1345.5传递函数模型转换为状态空间模型的串并联法…1355.5.1并联模型法,.,,,,,,,,,,,,,,,1355.5.2串联模型法1385.6状态空间仿真模型建立………………………………………1415.6.1非线性时变系统1415.6.2非线性定常系统……………………………………1425.6.3线性时变系统∴…………1425.6.4线性定常系统……………425.7关于混合系统仿真……………………144习题…∴∴…145第6章连续系统的相似离散法1486.1线性连续系统相似离散法…1486.1.1连续系统状态方程的精确解…486.1.2零阶保持器下状态方程的离散化…1496.1.3一阶保持器下状态方程的离散….,.,,.,,,,.,,,,,·,,,,,,,,,1506.1.4离散系统仿真模块1516.2状态转移矩阵…1526.2.1状态转移矩阵的特性1526.2.2求转移矩阵的几种方法…1536.3离散化系统的传递函数模型…………………1546.3.1零阶保持器的传递函数1546.3.2一阶保持器的传递函数…1546.3.3离散系统的传递函数模型1566.4线性时变系统状态方程的离散化………………………1586.4.1线性时变状态方程的解……………………1586.4.2线性时变系统状态方程离散化…………………1596.4.3近似离散化1596.5离散系统仿真模型建立…………………………1636.5.1有关离散系统 Matlab函数的应用1636.5.2状态方程的离散——基于单位延迟的状态空间仿真模型1666.5.3利用离散传递函数模块的 Simulink仿真模型……∴1686.5.4使用离散状态空间模块 Simulink仿真模型168习题……………………………………………………………………………170第7章机电模拟系统………………………………………1737.1电学基本元件和基本定律1737.1.1电学基本元件……1737.1.2简单电路动态方程1747.1.3电气系统的数学模型建立…………………………………………1747.2无源滤波器……………1787.2.1滤波器基本类型1787.2.2无源RC滤波器……………………………………………………………………………1857.2.3无源RLC滤波器………………………………………………………1867.3机电相似系统1867.3.1力一电压相似……………………………………………………………………187Ⅶ7.3.2力一电流相似…1887.4机电耦合系统的数学建模∴…1897.5运算放大器系统的数学建模∴……………190习题………196第8章系统瞬态响应分析………2008.1典型状态和典型激励的瞬态响应…2008.1.1系统响应种类…2008.1.2常见的几种典型外激励……………2018.2一阶系统的瞬态响应分析·……………………………………………………2028.2.1系统在零输入响应……………………2028.2.2系统零状态响应…………………………………………………2028.2.3标准一阶系统的单位阶跃响应特性……………2048.3二阶系统瞬态响应分析…………………………2068.3.1标准二阶系统的单位脉冲响应………………2068.3.2欠阻尼标准二阶系统的阶跃响应2098.3.3欠阻尼标准二阶系统性能指标…2108.3.4非标准欠阻尼标准二阶系统性能指标…∴…2148.3.5欠阻尼二阶系统的单位斜坡响应………………………………2178.3.6过阻尼二阶系统的单位阶跃响应………………………2188.4 Matlab/ Simulink仿真…………………………………………………………2208.5高阶系统的响应2218.5.1高阶系统的传递函数……………………………………2218.5.2高阶系统的瞬态响应222习题……………………………………………………………………………222第9章动力学系统频域分析方法………………………………………………2269.1概述……………………………………………2269.2频率响应函数…2269.2.1谐和激励下系统的响应函数…………………………………………2269.2.2系统的传递函数与系统的频率响应函数………………………2279.2.3系统频率响应特性曲线(频响曲线)……………………2309.3单位脉冲函数与频率响应函数.·······:··:.·.·········;···;··:.:··2329.3.1单位脉冲响应函数(权函数)…………………2329.3.2单位脉冲函数与频率响应函数…………………………………2339.3.3标准二阶系统的频率响应特性……·.···········2359.4频率响应分析法仿真……23794.1连续系统频率响应特性:,···:,,2379.4.2线性多自由度系统的频域分析2459.4.3快速傅里叶变换与仿真……………………………246Ⅷ9.5频率响应特性在振动系统参数识别中的应用……2489.5.1幅频、相频曲线识别法…………2499.5.2实频、虚频曲线识别法2509.5.3导纳圆的参数识别法…………………252习题………………254第10章动力学系统控制基础…25610.1动力学控制的基本概念…25610.2PID控制系统…………………25710.2.1PID工作简介…25710.2.2PID的数学模型…………25810.2.3PID控制系统的响应分析…25910.3状态反馈控制系统··..···.···:········.···········:······…………27010.4最优控制………………………27410.4.1固定端点的问题最优控制…………………………………27510.4.2始端时刻固定、末值状态自由情况下的最优控制27610.5线性系统的二次型最优设计…………279习题………………………………………………………………………285附录………………………………………………………288附录1 Simulink仿真系统常用模块库288附录2典型函数的拉普拉斯变换和Z变换…………………………………………290附录3 Matlab/ Simulink部分功能设置…………29参考文献…292Ⅸ
- 2020-12-04下载
- 积分:1
Java面试笔试题大汇总(最全+详细答案)
搜集的 Java面试笔试题,设置最低积分,备份加供诸位道兄下载,没积分的私我是的内部类,其代码如下所小简单的说,如果整型字面量的值在到之间,那么不会新的对象,而是直接引用常量池中的对象,所以上面的面试题中的结果是而的结果是提醒:越是貌似简单的面试题其中的玄机就越多,需要血试者有相当深厚的功力。和的区别答:运算符有两种用法:按位与;逻辑与ε运算符是短路与运算。逻辑与跟短路与的差别是非常巨人的,虽然二者都要求运算符左右两端的布尔值都是整个表达式的值才是之所以称为短路运算是因为,如果左边的表达式的值是右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用而不是,例如在验证用户登录时判定用户名不是而且不是空字符串,应当写为:二者的顺序不能交换,更不能用运算符,因为第一个条件如果不成立,根本不能进行字符串的比较,否则会产生异常。注意:逻辑或运算符()和短路或运算符()的差別也是如此。补充:如果你熟悉那你可能更能感受到短路运算的强大,想成为的高手就先从玩转短路运算开始吧3114解释内存中的栈堆和静态区的用法。答:通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过关键字和构造器创建的对象放在堆空间;程序中的字面量()如直接书写的和常量都是放在静杰区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。上面的语句中变量放在栈上,用创建出来的字符串对象放在堆上,而这个字面量放在静态区。补充:较新版本的(从的某个更新开始)中使用了一项叫逃逸分析的技术,可以将一些局部对象放在栈上以提升对象的操作性能等于多少?等于多少?答的返回值是的返回值是。四舍五入的原理是在参数上加然后进行下取整。是否能作用在上,是否能作用在上,是否能作用在上答:在以前,中只能是从开始中引入了枚举类型,也可以是类型,从开始,还可以是字符串(),但是长整型()在目前所有的版本中都是不可以的。、用最有效率的方法计算乘以?答:(左移位相当于乘以的次方,右移位相当于除以的次方)。补充:我们为编写的类重写方法时,可能会看到如下所示的代码,其实我们不太理解为什么要使用这样的乘法运算来产生哈希码(散列码),而且为什么这个数是个素数,为什么通常选择这个数?前两个问题的答案你可以自己百度一下,选择是因为可以用移位和减法运算来代替乘法,从而得到更好的性能。说到这里你可能凵经想到了:等价于左移位相当于乘以的次方再诚去自身就相当于乘以,现在的都能自动完成这个优化4/114、数组有没有方法?有没有方法?答:数组没有方法,有的属性。有方法中,获得字符串的长度是通过属性得到的,这一点容易和混淆。在中,如何跳出当前的多重嵌套循环?答:在最外层循环前加个标记如,然后用可以跳出多重循环。(中支持带标签的和语句,作用有点类似于和中的语句,但是就像要避免使用一样,应该避免使用带标签的和,因为它不会让你的程序变得更优雅,很多时候甚至有相反的作用,所以这种语法其实不知道更好)、构造器()是否可被重写()?答:构造器不能继承,因此不能被重写,但可以被重载。、两个对象值相同但却可有不同的这句话对不对答:不对,如果两个对象和满足,它们的哈希码(相同对于方法和方法是这样规定的:如果两个对象相同(方法返回,那么它们的值一定要相同:如果两个对象的它们并不一定相同。当然,你未必要按照要求去做,但是如果你违背了上述原则就么发在使用容器时,相同的对象可以出现在集合中,同时增加新元素的效率会大大下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)补充:米于和方法,很多程序都知道,但很多人也就是仅仅知道而己,在的大作《》(很多软件公司,《《编程思想》以及《重构:改善既有代码质量》是程序员必看书籍,如果你还没看过,那就赶紧去亚马逊买一本吧)中是这样介绍方法的:首先方法必须满足自反性(必须返回)、对称性(返回时也必须返回)、传递性(和都返回时,也必须返回)和致性(当和引用的对象信息没有被修改时,多次调用应该得到同样的返回值),而且对于任何非值的引用,必须返回实现高质量的方法的诀窍包括:使用操作符检查参数是否为这个对象的引用;5114使用操作符检查参数是否为正确的类型;对于类中的关键属性,检查参数传入对象的属性是否与之相匹配;编写完方法后,问自己它是否满足对称性、传递性、一致性;重写时总是要重写;不要将方法参数中的对象替换为其他的类型,在重写时不要忘掉注解。、是否可以继承类?答:类是类,不可以被继承。补充:继承本身就是一个错误的行为,对类型最好的重用方式是关联关系)和依赖关系()而不是继承关系()、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?答:是值传递。语言的方法调用只支持参数的值传递。当一个对象实例作为一个参数被传递到方法中时,参数的值訫是对该对象的引用。对象的属性可以在被调用过程中被改变,但对对象引用的改变是不会影响到调用者的。和中可以通过传引用或传输出参数来改变传入的参数的值。在中可以编写如下所示的代码,但是在中却做不到。说明:中没有传引用实在是非常的不方便,这点在中仍然没有得到改进,正是如此在编写的代码中才会出现大量的类(将需要通过方法调用修改的引用置类中,再将对象传入方法),这样的做法只会让代码变得臃肿,尤其是让从和转型为程序员的开发者无法容。和的区别?答:平台提供了两种类型的字符串和,它们可以储存和操作字符串。其中是只读字符串,也就意味着引用的字符串内容是不能被改变的。而类表小的字符串对象可以直接进行修改是中引入的,它和的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被修饰,因此它的效率也比要高。面试题什么情况下用运算符进行字符串连接比调用对象的方法连接字符串性能更好?如果是少量的字符串拼接,可以用,如果是大量的还是用吧是线程安全的是线程不安全的,很6114明显,的系统开销要大,所以如果我们只有个单线程,考虑速度的话更好。那为什么我们很少见到呢?原因很简单,因为我们有时候很难确定我们创建的系统会不会是多线程的,如果考虑到以后扩展的可能性,则更难确定,所以我们更愿意使用因为它是线程安全的,不用担心以后扩展。面试题请说出下面程序的输出。补充:解答上面的面试题需要清楚两点对象的方法会得到字符串对象在常量池中对应的版本的引用(如果常量池中有一个字符串与对象的结果是),如果常量池中没有对应的字符串,则该字符串将被添加到常量池中,然后返回常量池中字符串的引用;字符串的操作其本质是创建了对象进行操作,然后将拼接后的对象用方法处理成对象,这一点可以用命令获得文件对应的字节码指令就可以看出来。方法就是把该对象放进常量池。、重载()和重写()的区别。重载的方法能否根据返回类型进行区分?答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在了类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求面试题:华为的面试题中曾经问过这样一个问题为什么不能根据返回类型来区分重载,快说出你的答案吧!返回类型不同不构成重载,重载的机制是参数列表不同,即参数的类型,个数,排列顺序。、描述·下加载文件的原理机制?答中类的装载是由类加载器()和它的子类来实现的,中的类加载器是一个重要的运行时系统组件,它负责在运行时查找和装入类文件中的类。由于的跨平台性,经过编译的源程序并不是·个可执行程序,而是个或多个类文件。当程序需要使用某个类时,会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的文件中的数据读入到内存中,通常是创建一个字节数组读入文件,然后产生与所加载类对应的对象。加载完成后,对象还不完整,所以此时的类还不可用。当类被加载后就进入连接阶段,这一阶段包括验证7114准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。最后对类进行初始化,包括:如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;如果类中存在初始化语句,就依次执行这些初始化语类的加载是由类加载器完成的,类加载器包括:根加载器()、扩展加载器)、系统加载器()和用户自定义类加载器(的子类)。从)开始,类加载过程采取了父亲委托机制()。更好的保证了平台的安全性,在该机制中自带的是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载不会向程序提供对的引用。下面是关于几个类加载器的说明:般用本地代码实现,负责加载基础核心类库();从系统属性所指定的目录中加载类库,它的父加载器是又叫应用类加载器,其父类是环境变量或者系统属性所指公应它是应用最广泛的关加载器。它从目录中记载类,是用户自定义加载器的默认父加载器。型变量中能不能存贮一个中文汉字,为什么?答:类型可以存储一个中文汉字,因为中使用的编码是不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个类型占个字节(比特),所以放一个中文是没问题的补充:使用意味着字符在内部和外部有不同的表现形式,在内部都是当这个字符被从内部转移到外部时(例如存入文件系统中),需要进行编码转换。所以中有字节流和字符流,以及在字符流和字节流之间进行转换的转换流,和,这两个类是字节流和字符流之间的适配器类,承担了编码转换的任务;对于程序员来说,要完成这样的编码转换恐怕要依赖于(联合体共用体)共享内存的特征米实现了。、抽象类和接口()有什么异同?答:抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承」某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是默认的,而接口中的成员全都是的抽象类中可以定义成员变量,而接∏中定义的成员变量实际上都是常量。有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法、静态嵌套类和内部类()的不同?是被声明为静态)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示。扑克类(一副扑克)骆昊黑桃红桃草花方块8114构造器洗牌(随机乱序)发牌发牌的位置下片类(一张扑克)内部类骆昊花色点数9114测试代码:汏牌发第一张牌对于非静态内部类只有通过其外部类对象才能创建对象红心自己创建一张牌洗牌后的第一张打印红心面试题下面的代码哪些地方公产生编译错误?注意中非静态内部类对象的创建要依赖其外部类对象,上面的面试题中和方法都是静态方法,静态方法中没有,也就是说没有所谓的外部类对象,因此无法创建内部类对象,如果要在静态方法中创建内部类对象,可以这样做:、中会存在内存泄漏吗,请简单描述答:理论上因为有垃圾回收机制()不会存在内存泄露问题(这也是被广泛使用于服务器端编程的一个重要原因);然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被回收,因此也会导致内存泄露的发生。例如的10/114
- 2020-06-20下载
- 积分:1