- 浏览: 12172 次
- 性别:
- 来自: 恩施
最新评论
文章列表
一、为什么要使用装饰模式呢?
使用装饰模式要达到这样一个目的,给某一个类附加一些额外的功能,也就是说做一些功能扩展,但是又不改变类原有的功能。
二、什么是装饰模式呢?
通过上面的理解,我们可以得出一个结论,装饰模式是动态的扩展一个对象的功能,而不需要改变原始类代码的一种成熟模式。
三、装饰者与被装饰者
装饰者与被装饰者是没有直接的关系,但是它们拥有一些共同的东西,这样说吧,装饰者在装饰被装饰者的时候,它肯定是要能够装饰被装饰者,不能说把一些个不相干的装饰者硬往被装饰者上装饰,这样肯定就成了一种不伦不类的类了。比如说我拿石头去装饰米饭,那不是要人命吗?
...
一、什么是泛型?
泛型就是参数化类型,也就是说把我们操作的数据类型指定为一个参数。
二、为什么要使用泛型呢?
我们在方法中接收传递的参数时,经常需要运用Object来接收,目的是为了实现接收参数数据类型任意化,这样的直接后果就是造成一种潜在的隐患,如果说我传递的参数进你当前的方法后,我在方法里面使用传递过来的参数时,我一开始肯定不清楚你传递过来的具体是一个什么类型的数据,我必须跳到你传参的位置,然后看看你传递的是什么数据类型,然后再次回到我要使用传过来参数的方法中。然后再次将传递过来的参数还原成传递前的原数据类型,此时就会用到一个强制类型转换,因此在这一系列的操作中, ...
一、需求
让每一次抽的数字是随机产生的,并且保证产生数字的过程中,上一次产生过了的数字不在继续出现。
二、代码演示
public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.println("你要抽取多少个数字作为中奖数字?");int k = in.nextInt();System.out.println("能够抽取的最大的数字是多少?");int n = in.nextInt();//先将最大数字范围中的数据放进数组i ...
一、使用冒泡排序的目的是什么呢?使用它需要达到什么效果呢?
还是为了使数组中的元素有顺序呗,但这种排序方式呢,主要是想提高一下数组排序的效率。元素值之间进行比大小,这个涉及到比较的次数,如果说冒 ...
一、整型数组的选择排序是怎么回事儿呢?我们需要达到一个什么效果呢?
大家都清楚,排序就是为了有规律,有顺序,所以说整型数组排序就是为了把整型数组中的元素变得有顺序,可以是从小到大排列,也可以是从大到小排列。总之,最终的目的就是为让整型数组元素值有规律。
二、如何来实现选择性的对数组元素值进行排序呢?
当然,我们首先得准备一个数组。接着我们用数组的第1个元素依次与数组的其它元素做比较,如果第一个元素比后面的元素大,则把后面值较小的元素与第一个元素的位置相交换,当然位置的交换可以借助临时变量。
这一步相当于做了什么事情呢?
就是拧着一个数与 ...
一、如何产生一个随机数?
需要使用java.lang包中的Math类,Math类有一个产生随机数的方法是:random();
例如:
int i = (int)(Math.random()*4);
Math.random()返回的是大于等于0小于1的随机数,带正号的double值。 ...
一、为什么为用到BigInteger和BigDecimal这种数据类型呢?
我们非常清楚,java里面整型int与浮点型float,double它们存放数据的范围是有边界的。那么如果需要更大的数据时,这些数据类型肯定是满足不了这种需求,所以就用到了BigInteger和BigDecimal来解决这个问题。
二、BigInteger与BigDecimal这两个类是什么包里面的?它们的作用分别是什么?
1、java.math包
2、BigInteger实现了任意精度的整数运算;
BigDecimal实现了任意精度的浮点数运算。
三、怎么将普通的数值转换成大 ...
一、什么是异常呢?
异常是java程序在运行期产生的错误。
二、异常会在哪些情况下产生?
总的来说:在现实世界中充满了不良的数据和有问题的代码,这些都属于异常情况。
通常在什么情况下产生呢?
1、可能造成程序崩溃的错误输入
2、设备错误
3、物理限制
4、代码错误
三、发生异常了,我们该如何来处理呢?也就是说,在java里面是如何来处理异常的呢?
Java使用了一种称为异常处理的错误捕获机制进行处理。
四、什么是异常处理呢?
异常处理就是用于处理程序错误的一种 ...
一、java中的String类为什么不可以被改变?
public class StringTest {public static void main(String[] args) {String str = new String ("abcdef");str.replace('c', 'C');System.out.println(str);}}
这里面的代码,试图将字符串中的字符'c'替换成大写字母'C',使用的是String类的replace方法,调用这个方法之后,再重新输出字符串str,发现并没有改变str的值。这是怎么一回事呢?
大家只要查看一下Strin ...
1、什么是数组?
数组是一种数据结构,用来存储同一类型的集合,通过一个整型的下标可以返回数组中的每一个值。
通俗的说,数组就是多个相同类型数据的组合,在内存中用连续的区域进行存储,每个区域有一个下 ...
一、为什么要使用模式呢?
我们在编码的过程当中,会写很多看起来很臃肿的代码,我们需要对这些代码的结构进行优化与重构。将一些比较稳定的,不容易改变的代码给它提取出来,放到一个接口或者是抽象类当中, ...
一、什么是单例模式,为什么要使用单例模式?
单例模式是为了保证在对一个类进行操作的时候,在内存中每一次只产生一个类对象。
二、如何来实现单例模式呢?
1、需要将类的构造方法私有化
将类构造方法私有化可以使这个类在其它类调用的过程中不能通过new关键字来创建对象。
2、通过类本身来实例化一个本类对象
为什么要通过本类来实例化呢?这是为了保证在其他的类通过类对象操作这个类的时候,此类仅仅只有一个实例,也就是单一的类实例。为什么这个类实例需要加上static关键字呢?是为了保证此类在被JVM加载的时候就为 ...