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. Oracle 查询合并列

    在ORACLE  查询时,有时要将多个列合并成一行,其方法如下: 1. decode 函数 decode 函数的语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省 ...

  2. python 贝叶斯算法

    自我理解贝叶斯算法也就是通过概率来判断C是属于A类还是B类,下面是具体代码(python3.5 测试通过) 文字流程解释一波 1 )  加载训练数据和训练数据对应的类别 2)   生成词汇集,就是所有 ...

  3. python数据分析库pandas

    在我看来,对于Numpy以及Matplotlib,Pandas可以帮助创建一个非常牢固的用于数据挖掘与分析的基础.而Scipy(会在接下来的帖子中提及)当然是另一个主要的也十分出色的科学计算库,但是我 ...

  4. matlab-画一个圆

    我们可以用 李萨如图形 的思路去画一个圆,或者一个椭圆. x,y是圆心所在坐标,r是半径,nseg是边缘段数(越高,边缘越顺滑,建议100以上),S是plot的样式设置字符 function Draw ...

  5. pandas 存取数据小笔记

    import pandas as pd 1.   读取和保存 csv文件 #读 df = pd.read_csv(read_file_path, header=0) # 其中read_file_pat ...

  6. nexus的安装和简介(2)

    上传jar包到私服 1. 配置settings.xml 需要在客户端即部署dao工程的电脑上配置 maven环境,并修改 settings.xml 文件,配置连接私服的用户和密码 . 此用户名和密码用 ...

  7. Javascript中 toFixed

    javascript中toFixed使用的是银行家舍入规则. 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法. 简单来说就是:四舍六入五考虑,五后非零就进一,五后为零 ...

  8. FTRL的理解

    https://blog.csdn.net/ningyanggege/article/details/81133785

  9. vue浏览器滚动加载更多

    created () { var that = this; window.addEventListener('scroll',this.scroll,true) console.log(this.$r ...

  10. ppt复制文本框文字到word的方法

    打开ppt按Alt+F11,插入--模块,  选中“工具”--“引用”--MicroSoft Word .. 复制代码: Sub Main() On Error Resume Next Dim tem ...