![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Hh....
这个作者很懒,什么都没留下…
展开
-
java 工厂模式
目录1.简单工厂模式2.工厂方法模式3.抽象工厂模式1.简单工厂模式定义:又称为静态工厂模式 ,它属于创建型模式。在简单工厂模式中 ,可以根据参数的不同返回不同的实例。简单工厂专门定义了一个类来创建其他类的实例,被创建的实例一般有相同的父类。优点:让创建和使用分离。该模式对对象创建管理方式最为简单。缺点:由于是静态获取方法来获取对象,不能通过不同的方式去改变创建行为,所有有一定的局限性。当需要重新创建实例时又需要,对创建的判断条件进行改变。实例创建一个抽象类Pro原创 2021-11-22 18:35:34 · 367 阅读 · 0 评论 -
throw 和 throws 的区别
throw:1.在方法内部抛出某一种异常,由外部环境进行处理。2.可以自行定义抛出的异常。3.执行到该throw后将不会再执行接下来的语句。4.如果异常对象是非 RuntimeException 则需要在方法申明时加上该异常的抛出 即需要加上 throws 语句 或者 在方法体内 try catch 处理该异常,否则编译报错。public void telNum(String num) { if (num.length() != 11) { throw new Ille原创 2021-11-08 17:41:34 · 118 阅读 · 0 评论 -
String StringBuffer StringBuilder 的对比
String StringBuffer StringBuilder 继承关系 数据类型 String类继承Object类,String被final所修饰无法被继承,String是引用数据类型。 继承自AbstractStringBuilder类,引用数据类型。 初始化 双引号创建一个字符串时,JVM 首先在字符串池中寻找具有相同值的字符串。如果找到了,它将返回字符串池中的字符串对象的引用。否则,...原创 2021-11-08 16:14:44 · 96 阅读 · 0 评论 -
值传递和引用传递
1.概念值传递是将所传递的对象进行复制,传递其复制的副本,而本身不会为此而改变。相当于配钥匙,将配好的新钥匙给另外的人。引用传递是传递的是对象的引用,而不是实际的对象,但在函数中对参数进行修改也会影响到实际参数。2.两者的区别值传递 引用传递 创建副本 不创建副本 函数中无法改变原始对象值 函数中可以改变对象值 3.实例例1 int 基本数据类型public class Test { public void pass(int a) {...原创 2021-11-07 23:23:13 · 91 阅读 · 0 评论 -
java数据类型解析
1.Java数据类型分类2.基本数据类型转化 1.大类型 转换为小类型时 -----强制转换例: int i = 0; int j = 0; short y=(short) i 2.超出范围时或不知道超出范围时-----强制转换例:byte b=(byte) 128;byte b1=1; byte b2=2; byte b3=(byte) (b1+b2) 3.不同数据类型时或值为其他类型时-----强制转...原创 2021-10-21 18:22:55 · 78 阅读 · 0 评论 -
为什么float 的取值范围大于long类型?
long类型long:长整型是占64个bit8个字节,默认值为0取值范围是2^63float类型float:单精度占32个bit4个字节,默认值为0 为什么4个字节的float类取值范围大于long类型?根本原因是:float的存储方式与long不同。32bit 1个bit是其符号位 23位为其尾数位,取值范围是[0,1) 8位为指数位( 00000000----11111111 )根据IEEE754规定去除最值,每个指数要减去127,所以指数...原创 2021-10-19 21:16:01 · 273 阅读 · 0 评论