摘要: 1、普通代码块,在方法中写的代码块。 2、构造块,是在类中定义的代码块,在创建对象时被调用,优于构造方法执行。 3、在类中使用static声明的代码块称为静态代码块,在第一次使用的时候被调用(最先调用,只调用一次) 在项目开发中,通常使用静态代码块来初始化只调用一次的数据。 加载顺序:静态代码块、普 阅读全文
posted @ 2019-06-25 11:27 温碧泉 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 使用限制: 仅能调用其他的static方法。 只能访问static数据。 不能引用this或supper。 使用场景: 多个对象共同的属性和方法可以定义为静态方便调用。 阅读全文
posted @ 2019-06-25 11:09 温碧泉 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 值传递:传递真实值。 引用传递:传递内存地址。 1、基本类型 上面的demo输出的是10,而不是20。为什么?①.程序运行时,main方法先入栈,然后给变量a分配内存。②.当运行到changeVal(a);时,changeVal()方法入栈。当方法入栈时,会给局部变量和形参变量(a)分配内存. 即在 阅读全文
posted @ 2019-06-25 10:08 温碧泉 阅读(2512) 评论(0) 推荐(0) 编辑
摘要: this关键字表示当前对象 阅读全文
posted @ 2019-06-24 19:36 温碧泉 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 以0x开头的标识0016进制 如: 0x2D 十进制 和8进制、16进制之间的转换与 和二进制的类似,下面就以二进制为例 二进制转十进制: 1100.01 》》》1*2^3+1*2^2+0*2^1+0*2^0+、+0*2^-1+0*2^-2=8+4+0+0+、+0+0.25=12.25 十进制转二进 阅读全文
posted @ 2019-06-24 15:32 温碧泉 阅读(937) 评论(0) 推荐(0) 编辑
摘要: java标识符命名规则: 由字母、数字、下划线(_)和美元符($)组成。 不能以数字开头。 区分大小写。 长度无限制。 不能是java中的关键字和保留关键字。 标识符命名习惯:驼峰命名法、见名思意、以单词或单词组合来命名。 阅读全文
posted @ 2019-06-24 13:59 温碧泉 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: 只具有一个方法的普通接口可以被转换为Lambda表达式。 语法:{参数1,参数2...}->{...} (1)没有参数时使用Lambda表达式 ()->{...} (2)带参数时使用Lambda表达式 (int a)->{...} (3)代码中只一句代码使用Lambda表达式 ()->System. 阅读全文
posted @ 2019-06-22 17:28 温碧泉 阅读(337) 评论(0) 推荐(0) 编辑
摘要: final用来修辞属性、方法、类 final修辞的变量为不能改变,即为常量(必须赋初值)。final修辞的方法不能被覆盖。final修辞的类不能被继承。(常用于定义全局常量) finally是异常处理语句结构的一部分,表示总是执行。 finalize垃圾回收器删除对象之前调用对象的该方法做清理工作。 阅读全文
posted @ 2019-06-22 10:06 温碧泉 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 对象序列化是用于将对象状态转换为字节流的过程,可将其保存到磁盘文件中或通过网络发送到任何其他程序;从字节流创建对象的相反过程称为反序列化。而创建的字节流是与平台无关的,在一个平台序列化的对象可以再不同的平台上反序列化。 序列化是一个标记接口,意味着他不包含任何字段和方法,仅用于标识可序列化的语意。 阅读全文
posted @ 2019-06-21 11:54 温碧泉 阅读(252) 评论(0) 推荐(0) 编辑
摘要: jdk1.8之前,HashMap底层基于数组和链表。 jdk1.8,HashMap底层基于数组+链表+二叉树(红黑树)。 先创建数组 Node[ ] table = new Node[16] (散列桶初始haul) 再创建链表对象 tableclass Node{ hash; //hash值 key 阅读全文
posted @ 2019-06-20 20:32 温碧泉 阅读(158) 评论(0) 推荐(0) 编辑