2019/2/18 星期一
今天学习了Java 中的面向对象思想
主要学习了类 构造器等
在学习修饰属性的过程中,有4点必须牢记
前提是理解类的各种关系 类中有5种关系 本身 同包类 同包继承子类 不同包继承子类 不同包非继承类
第一 private 当使用private 来修饰类中属性时 只有自身可以访问 其他一律不可访问
第二 不写任何修饰时 自身 同包类 同包继承子类 可以访问 其余 不同包继承子类 不同包非继承类 均不可访问
第三 protected 当使用protected 来修饰类中属性时 除了不同包继承子类 其余都可以访问
第四 public 当使用 public 来修饰类中属性时 所有类都可以访问

类属性的学习和深入记忆
属性可以分为两种类型,类属性和实例属性即对象属性,类属性必须用static来修饰,类属性适用于所有该类实例化对象都共有的属性,如人这个类,都共有的特性是直立行走的,在创建人这个类时,直立行走必须用static来修饰。但是在这个例子中,有一点是不恰当的,如果通过对象来修改类属性,那么所有的对象以及类的这个属性都会改变,但是在现实生活中,如果一个孩子生下来是畸形的,那么全世界的人也不会变成畸形而和那个小孩子一样爬着行走。
类方法的学习和深入记忆
对象方法:即实例方法(非静态方法),必须有实例对象才可以使用的方法。
类方法:(静态方法)即类中的方法,不必用到实例对象,而且实例对象也可以使用。
单例模式的学习
什么是单例模式
单例模式指在抽象化的包含各类对象实例的空间样本中,特殊存在而且唯一存在的实例,特点是无法通过构造来获得,必须通过该单例的方法获取,而且获取的单例都是具有唯一性的,且都指向同一实例。
构造方法:有两种方法。1:饿汉式构造方法:在一开始便将单例实例化,并且一直存在。2:懒汉式构造方法:只有在用到的时候才会将其实例化,节省加载时间。
public class GiantDragon {
//私有化构造方法使得该类无法在外部通过new 进行实例化
private GiantDragon(){
//准备一个类属性,指向一个实例化对象。 因为是类属性,所以只有一
private static GiantDragon instance = new GiantDragon();
//public static 方法,提供给调用者获取12行定义的对象
public static GiantDragon getInstance(){
return instance; }
}
第二种:
public class GiantDragon {
//私有化构造方法使得该类无法在外部通过new 进行实例化
private GiantDragon(){
} //准备一个类属性,用于指向一个实例化对象,但是暂时指向null
private static GiantDragon instance;
//public static 方法,返回实例对象
public static GiantDragon getInstance(){
//第一次访问的时候,发现instance没有指向任何对象,这时实例化一个对象
if(null==instance){
instance = new GiantDragon();
} //返回 instance指向的对象
return instance; }
}
主要记住3要素:
1.私有化构造方法,使其无法产生第二个单例。
2.将类静态属性指向该单例
3.返回2中的唯一单例

2018年2月19日我的java学习的更多相关文章

  1. 2018年2月19日我的java学习(——)

    在学完了类和对象的时候,开始对面向对象的思想有了一点认识,不过也不是完全的理解了. 就现在的学习状态来说,是非常的不错的,但是在学习的内容来说,我学的好像只是跟随这 站长的思路而已,也许是经验不足吧. ...

  2. pycharm2018.1.4激活破解方法与汉化包-2018年6月19日

    记录下来备用,顺便分享给大家,有能力的还是希望能够支持正版!支持正版!支持正版! 方法1:激活服务器,最简单快速(截止2018年6月19日可用) 在激活Jetbrains旗下任意产品的时候选择激活服务 ...

  3. Android构建项目时出现的小bug们(2018年5月19日19:31:20)

    问题详情 Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency ...

  4. Android TextView 跑马灯效果 - 2018年6月19日

    第一步在布局中添加加粗部分代码: <TextView android:id="@+id/tv_company" android:layout_width="0dp& ...

  5. Azkaban3.X的安装(2018年8月19日最新版本)

    参考文章: 1.http://azkaban.github.io/azkaban/docs/latest/ 2.http://blog.csdn.net/gaoqida/article/details ...

  6. ACM训练小结-2018年6月19日

    今天题目情况如下:  A题:考察图论建模+判割点.B题:考察基础数据结构的运用(STL).C题:考察数学建模+运算.(三分可解)D题:考察读题+建模+数据结构的运用.E题:考察图论+贪心.F题:考察图 ...

  7. WIN10 困扰多时的屏幕亮度 终于可以调节了-完美 -更新2018年2月28日

    总结:很多问题是自己认知不够造成的,  -- 问题解决在  修复经历二,可直接跳过去看  修复经历二. 首先看你屏幕亮度是集成还是独立显卡决定的(一般是集成),所以下面 修复经历一折腾独立显卡驱动没什 ...

  8. Oracle性能图表工具:awrcrt.sql 介绍,更新到了2.14 (2018年3月31日更新)

    2018-03-31 awrcrt更新到了2.14版本, 下载地址为 https://pan.baidu.com/s/1IlYVrBJuZWwOljomVfta5g https://pan.baidu ...

  9. Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

    array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...

随机推荐

  1. nodejs+mocha+supertest+chai进行测试(only demo)

    1.nodejs安装成功 (上一篇:brew install nodejs) 2.mocha安装成功 npm install -g mocha 解释: -g代表global,全局的意思.此处mocha ...

  2. jvm常见的面试题

    1. 内存模型以及分区,需要详细到每个区放什么. 2. 堆里面的分区:Eden,survival from to,老年代,各自的特点. 3. 对象创建方法,对象的内存分配,对象的访问定位. 4. GC ...

  3. iOS开发中didSelectRowAtIndexPath tap事件响应延迟

    为UITableViewCell添加tapped事件,代码如下: class VideoViewController: UIViewController , UITableViewDataSource ...

  4. 子页面调整父亲页面的iframe元素

    $('iframe', parent.document).attr('scrolling','no');

  5. 编程语言分类,安装python解释器,变量

    1.编程语言分类 机器语言:直接使用二进制指令去编写程序,直接操作硬件 优点:执行效率高 缺点:开发效率低 汇编语言:用英文标签取代二进制指令去编写程序,直接进操作硬件 优点:开发效率高于机器语言 缺 ...

  6. @ResponseBody 与 response.getWriter.write

    @responseBody注解的使用 1. @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通 ...

  7. Linux的Namespace与Cgroups介绍

    Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...

  8. Docker 清理命令

    原文地址http://www.runoob.com/w3cnote/docker-clear-command.html,这里仅作为记录,便于以后查阅 查看正在运行的容器(Container) dock ...

  9. 前端 跨Area后Cookie无法访问

    创建两个区域,一个是User,一个是Manage. User区域有两个页面,index1,和index2 User区域: index1:负责写入cookie index2:负责读取cookie Man ...

  10. asp.net文件/大文件上传需要配置的项目整理

    HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 最可能的原因: •Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值. 可尝 ...