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数组的索引和切片 ...
随机推荐
- Maven私服(Nexus)启动创建Windows服务
sc create lutao-maven-nexus binpath= D:\maven-server\nexus--\bin\nexus.exe type= own start= auto dis ...
- itextsharp图片生成pdf模糊问题解释
I forget to mention that I' am using itextsharp 5.0.2. It turned out that PDF DPI = 110, which means ...
- maven pom文件
setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件:而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和li ...
- ios中设置input为readonly后,解决弹起软键盘的问题
可以在input中添加unselectable="on" onfocus="this.blur()",可以解决软键盘弹起问题 <input type=&q ...
- resize2fs
VPS是15G的..但是dh和fdisk显示不一样..求解 df:Filesystem Size Used Avail Use% Mounted onudev 236M 0 236M 0% /devt ...
- 编程语言的分类及其优缺点,Python标准输入与输出
一. 编程语言分类 1.机器语言 以0,1的组合作为指令集,用二进制指令来编写程序: 优点:执行效率高 缺点:开发效率低 2.汇编语言 用英文标签代替二进制指令集来编写程序,比机器语言稍微高级,但本质 ...
- MQ队列堵塞无法读取经验总结
问题现象: 1号发生本地来帐队列无法读取消息的问题,导致来帐报文均无法正常处理. 原因分析: 应用系统没有修改或上包,昨天交易和消息读取还是一切正常,mbfe的状态也是正常,mq的状态正常,以上正常可 ...
- 20162322 朱娅霖 作业005&006 栈,队列
20162322 2017-2018-1 <程序设计与数据结构>第五.六周学习总结 教材学习内容总结 集合的介绍(总述) 集合是收集并组织其他对象的对象.主要分为线性集合(集合中的元素排成 ...
- Fedora 25 安装 Bugzilla
最近领导要我们装一个Bugzulla,虽然我们项目已经有了JIRA(我就呵呵),不过我还是找些资料安装了,在此备忘. Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System ...
- AS3中的getChildByName
[转载的...............] 在AS3中,我们可以用getChildByName来获取一个元件,但是要注意返回的类型是DisplayObject,这样一旦我们的元件中有一些自定义的方法就不 ...