2018年2月19日我的java学习
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学习的更多相关文章
- 2018年2月19日我的java学习(——)
在学完了类和对象的时候,开始对面向对象的思想有了一点认识,不过也不是完全的理解了. 就现在的学习状态来说,是非常的不错的,但是在学习的内容来说,我学的好像只是跟随这 站长的思路而已,也许是经验不足吧. ...
- pycharm2018.1.4激活破解方法与汉化包-2018年6月19日
记录下来备用,顺便分享给大家,有能力的还是希望能够支持正版!支持正版!支持正版! 方法1:激活服务器,最简单快速(截止2018年6月19日可用) 在激活Jetbrains旗下任意产品的时候选择激活服务 ...
- Android构建项目时出现的小bug们(2018年5月19日19:31:20)
问题详情 Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency ...
- Android TextView 跑马灯效果 - 2018年6月19日
第一步在布局中添加加粗部分代码: <TextView android:id="@+id/tv_company" android:layout_width="0dp& ...
- Azkaban3.X的安装(2018年8月19日最新版本)
参考文章: 1.http://azkaban.github.io/azkaban/docs/latest/ 2.http://blog.csdn.net/gaoqida/article/details ...
- ACM训练小结-2018年6月19日
今天题目情况如下: A题:考察图论建模+判割点.B题:考察基础数据结构的运用(STL).C题:考察数学建模+运算.(三分可解)D题:考察读题+建模+数据结构的运用.E题:考察图论+贪心.F题:考察图 ...
- WIN10 困扰多时的屏幕亮度 终于可以调节了-完美 -更新2018年2月28日
总结:很多问题是自己认知不够造成的, -- 问题解决在 修复经历二,可直接跳过去看 修复经历二. 首先看你屏幕亮度是集成还是独立显卡决定的(一般是集成),所以下面 修复经历一折腾独立显卡驱动没什 ...
- Oracle性能图表工具:awrcrt.sql 介绍,更新到了2.14 (2018年3月31日更新)
2018-03-31 awrcrt更新到了2.14版本, 下载地址为 https://pan.baidu.com/s/1IlYVrBJuZWwOljomVfta5g https://pan.baidu ...
- Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档
array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...
随机推荐
- 网页编程工具:EditPlus
字体:Consolas EditPlus,很土很简单很强大的网页编程工具 http://www.editplus.com/download.html 下载 http://www.cnblogs.co ...
- PHP实现JS点击点击定位
点击class='women' 定位到 class='m=foot'$(".women").on('click',function(){ $("html, body&qu ...
- 使用openpyxl复制整张sheet
通过无能的baidu逛了一圈,发现有两三段能用的代码,不过参考之下,发现还有不足的: 不能拷贝有合并格式的sheet.没有拷贝cell的相关格式(填充.边框.对齐)等参数 所以通过bing继续发掘,最 ...
- ArcPy开发教程1-面向ArcGIS的Python语言基础
ArcPy开发教程1-面向ArcGIS的Python语言基础 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 第一节课 时间2019年2月26日 上午第一节 讲解:A ...
- h5-audio/video标签
音频/视频 基础用法 属性 事件 audio元素和video元素 <audio id="audio" src="./成都.mp3"></aud ...
- 在ASP.NET MVC中使用UEditor无法提交的解决办法
很简单的一个ajax提交,却怎么都不成功 $.ajax({ type: "POST", url: "/mms/riskmanage/commitreply", ...
- DB2 公共表表达式(WITH语句的使用)
----start 说起WITH 语句,除了那些第一次听说WITH语句的人,大部分人都觉得它是用来做递归查询的.其实那只是它的一个用途而已,它的本名正如我们标题写的那样,叫做:公共表表达式(Commo ...
- netty(二) 创建一个netty服务端和客户端
服务端 NettyServer package com.zw.netty.config; import com.zw.netty.channel.ServerInitializer;import io ...
- mysql学习笔记--数据库设计
一.数据库基本概念 1. 关系:两个表的公共字段 2. 行:也称记录,也称实体 3. 列:也称字段,也称属性 4. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能 ...
- 业务数据实体(model) 需要克隆的方法
业务数据实体(model) 需要克隆的时候 可以使用 Json.Deserialize<InquireResult>(Json.Serialize<InquireResult> ...