资讯专栏INFORMATION COLUMN

CGBTN2108_DAY17总结复习

XFLY / 1840人阅读

摘要:设计模式概念是一些前人总结出来的值得学习的编程套路,设计模式一共有种单例设计模式确保代码中本类的实例只有一个实现思路方案一饿汉式把本类的构造方法私有化为了不让外界调用构造函数来创建对象通过本类的构造方法创建对象,并把这

DAY17

1.设计模式

  1. 概念:是一些前人总结出来的值得学习的编程“套路”,设计模式一共有23种
  2. 单例设计模式:确保代码中本类的实例只有一个
  3. 实现思路:
    方案一:饿汉式
    1)把本类的构造方法私有化–为了不让外界调用构造函数来创建对象
    2)通过本类的构造方法创建对象,并把这个对象也私有化,为了防止外界调用
    3)提供一个公共且静态的方法,返回刚刚创建好的对象
    注意:公共方法需要设置成静态–需要跳过对象,通过类名直接调用这个返回本类对象的公共方法
    对象也需要设置成静态的–这个对象需要在静态方法中被返回,而静态只能调用静态
    方案二:懒汉式
    ==延迟加载的思想:==我们有的时候有些资源并不是需要第一时间就创建出来,所以需要延迟到需要时再创建,这样既可以提升性能,又可以节省资源
    1)把本类的构造方法私有化–为了不让外界调用构造函数来创建对象
    2)创建了一个本类类型的引用类型变量【这个变量后续用来保存创建出来的对象的地址值】
    3)提供一个公共且静态的方法,返回刚刚创建好的对象
    注意:这个公共的方法里,需要做判断
    如果变量的值为初始值null:说明之前没有创建过对象,创建对象后再将对象的地址值赋值给引用类型变量,并把它返回
    如果引用类型的变量值不为null,说明:之前已经创建过对象了,这个引用类型变量保存就是地址值,本次不再新建对象,直接返回
    注意:由于有共享数据,并且多条语句操作这个single2,所以注意同步

这个只是一个开始,远远没有结束,大家还可以继续拓展:装饰者 建造者 工厂

2. 反射

2.1 反射的概念:

当我们想要使用别人的东西或者查看某些资源的时候,可以使用反射技术
再比如,开发的时候,有时并不能直接看到源代码,也可以通过反射获取

2.2 反射的前提:获取字节码对象

在Java中可以将对象分为两类:字节码对象 和 实例对象
字节码对象获取的3种方式:

  1. 类名.class
  2. Class.forName(“目标类的全路径”)
  3. 目标类对象.getClass()
    注意: 字节码对象是获取目标对象所有信息的入口

2.3 反射的常用方法

获取包对象:clazz.getPackage()
先获取包对象,再获取包对象的名字:clazz.getPackage().getName()
获取类名:
clazz.getName()–打印的是全路径名
clazz.getSimpleName()–打印的只有目标类的类名

获取目标类的所有方法:Method[] ms = clazz.getMethods();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/120957.html

相关文章

  • CGBTN2108-DAY08总结复习

    摘要:复习继承中变量的使用如果父类的成员变量与子类的成员变量同名时,使用变量名指定父类的成员变量继承中构造方法的使用我们每次创建对象的时候,都会先触发构造函数创建子类对象时,会先调用父类的无参构造,因为子类的构造函数中默认存 ...

    pekonchan 评论0 收藏0
  • CGBTN2110-DAY15总结复习

    摘要:复习接口接口的特点集合是有下标的集合是有顺序的集合可以存放重复的数据集合方法总结单个集合间的操作在集合的指定下标处插入指定元素返回本集合中指定下标处的元素移除本集合中指定下标处的元素用参数元素替换集合中指定下标处的元素 ...

    dackel 评论0 收藏0
  • Python 进阶之路 (十一) 再立Flag, 社区最全的itertools深度解析(下)

    摘要:将每一行作为返回,其中是每行中的列名。对于每一行,都会生成一个对象,其中包含和列中的值。它返回一个迭代器,是迭代结果都为的情况。深度解析至此全剧终。 简单实战 大家好,我又来了,在经过之前两篇文章的介绍后相信大家对itertools的一些常见的好用的方法有了一个大致的了解,我自己在学完之后仿照别人的例子进行了真实场景下的模拟练习,今天和大家一起分享,有很多部分还可以优化,希望有更好主意...

    tomorrowwu 评论0 收藏0
  • Day17 - 数组排序中文指南

    摘要:一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。返回值一个部分或全部匹配由替代模式所取代的新的字符串。 Day17 - 数组排序中文指南 作者:©黎跃春-追时间的人 简介:JavaScript30 是 Wes Bos 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 Java...

    coordinate35 评论0 收藏0
  • Android 中几个常用布局

    摘要:运行结果如下图所示是线性布局,它可以让它内部的元素按照指定方向依次排开。的方向是通过属性指定,并且可以通过属性指定对其方式。但是在从右往左阅读习惯的国家,那么开始侧就变成了右侧,的显示效果就等于了。 边距 margin 外边距 padding 内边距 layout布局区分 layout_ 称之为 布局参数,用于告诉父组件如何安排自身的子元素(margin,告诉处理组件间距) 不...

    Donald 评论0 收藏0

发表评论

0条评论

XFLY

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<