摘要:
abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 理解抽象类 abstract 阅读全文
摘要:
1、修改tomcat安装目录下的conf文件夹里context.xml文件。注意是在<Context></Context>中。<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"maxActive="100" maxIdle="30" maxWait="1000"username="scott" password="tige 阅读全文
摘要:
一、显示每个地区的总人口数和总面积.SELECT region, SUM(population), SUM(area)FROM bbcGROUP BY region先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算。二、 显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。SELECT region, SUM(population), SUM(area)FROM bbcGROUP BY regionHAVING SUM(area)>1000000在这里,我们不能用where来筛选超过 阅读全文
摘要:
有3种依赖注入。第一种:接口注入。就是将要注入的内容置入到一个接口中,然后再将其注入到他的实现类中。第二种:set注入。注入者通过setter方法将一个对象注入进去。第三种:构造注入。通过一个带参数的构造函数将一个对象注入进去。构造注入和set注入的比较:取决于注入的先后是否对业务逻辑有影响。如果一个业务逻辑中属性的值必须在最先得时候初始化,那么选择构造注入会是一个较好的选择。如果是一种动态下,不确定的环境下选择set注入比较自然。 阅读全文
摘要:
首先创建2两矿泉水公司A和B。然后在创建Boss类相当于客户端程序。里面实例化了A公司,表示boss与A签订了一份协议。可是有一天,A公司该做饮料,不提供矿泉水了。于是boss去与B公司签了协议。Boss以为这次可以高枕无忧了,由于A公司经营不善,做饮料亏了,又改做矿泉水,为了提升业绩他们的水卖的比B公司便宜。Boss又想改回,买A公司的。为了避免折腾,老板对张三说:“以后水的事情就由你负责了,买哪家的水由你来决定”。这样boss与矿泉水公司的关系就变成间接的了。中间多了个张三。这样一来就重新设计:首先呢,要先设计一个接口,并且提供一个提供水服务的方法。 然后AB两家公司都来实现这个接口。pu 阅读全文