1.作用域Public,private,protected.以及不写时的区别
public整个java程序中都可以访问
protected在其他包中不可以访问
friendly只有当前包或当前内可以访问,其他都不行
private只有当前内可以访问
不写的话默认是protected
2.extends和implement的不同
extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了比如classAextendsBimplementsC,D,E
3.join与leftjoin的区别:
innerjoin(等值连接)只返回两个表中联结字段相等的行
leftjoin(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录
rightjoin(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录
4.DAO设计模式与DELEGATE模式
DAO(DataAccessObject)模式实际上是两个模式的组合,即DataAccessor模式和ActiveDomainObject模式,其中DataAccessor模式实现了数据访问和业务逻辑的分离,而ActiveDomainObject模式实现了业务数据的对象化封装,一般我们将这两个模式组合使用。
DAO模式通过对底层数据的封装,为业务层提供一个面向对象的接口,使得业务逻辑开发员可以面向业务中的实体进行编码。通过引入DAO模式,业务逻辑更加清晰,且富于形象性和描述性,这将为日后的维护带来极大的便利。试想,在业务曾通过Customer.getName方法获得客户姓名,相对于直接通过SQL语句访问数据库表并从ResultSet中获得某个字符型字段而言,哪种方式更加易于业务逻辑的形象化和简洁化?
BusinessDelegate起到客户端业务抽象化的作用。它抽象化,进而隐藏业务服务的实现。使用BusinessDelegate,可以降低表示层客户端和系统的业务服务之间的耦合程度。根据实现策略不同,BusinessDelegate可以在业务服务API的实现中,保护客户端不受可能的变动性影响。这样,在业务服务API或其底层实现变化时,可以潜在地减少必须修改表示层客户端代码的次数。
5.适配器模式与桥梁模式的区别
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。又称为转换器模式、变压器模式、包装模式(把已有的一些类包装起来,使之能有满足需要的接口)。适配器模式的用意是将接口不同而功能相同或者相近的两个接口加以转换,包括适配器角色补充一些源角色没有但目标接口需要的方法。就像生活中电器插头是三相的,而电源插座是两相的,这时需要一个三相变两相的转换器来满足。
比如,在JavaI/O库中使用了适配器模式,象FileInputStream是一个适配器类,其继承了InputStrem类型,同时持有一个对FileDiscriptor的引用。这是将一个FileDiscriptor对象适配成InputStrem类型的对象形式的适配器模式。StringReader是一个适配器类,其继承了Reader类型,持有一个对String对象的引用。它将String的接口适配成Reader类型的接口。等等。
桥梁模式的用意是要把实现和它的接口分开,以便它们可以独立地变化。桥梁模式并不是用来把一个已有的对象接到不相匹配的接口上的。当一个客户端只知道一个特定的接口,但是又必须与具有不同接口的类打交道时,就应该使用桥梁模式。
比如,JDBC驱动器就是一个桥梁模式的应用,使用驱动程序的应用系统就是抽象化角色,而驱动器本身扮演实现化角色。应用系统和JDBC驱动器是相对独立的。应用系统动态地选择一个合适的驱动器,然后通过驱动器向数据库引擎发出指令就可以访问数据库中的数据。
工厂模式
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。
6.开发中都用到了那些设计模式?用在什么场合?
每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。
(1)MVC模式,在J2EE项目开发中主要用在表示层框架中,很好解决视图和流程控制。在项目中采用的Struts、WebWork等框架。
(2)DAO模式,在项目开发中主要用在数据层,封装数据的访问操作,为业务层提供数据服务。
(3)IoC模式,在项目开发中业务层有大量对象,他们之间存在依赖关系,可以使用IoC模式减少他们之间的代码耦合,提高系统的可扩展性。实际项目中使用的Spring框架来实现业务组件的装配。
(4)Observer模式,在Servlet的监听器中应用到了观察者模式。
(5)singleton单例模式和Factory工厂模式结合使用在项目中无需使用者了解过多的细节就可获取有关的对象实例。比如Hibernate项目中通过SessionFactory来获取Session。
(6)bridge模式,在项目中使用JDBC驱动访问数据库。
7.Hibernate中离线查询与在线查询的区别
Criteria和DetachedCriteria的主要区别在于创建的形式不一样,Criteria是在线的,所以它是由HibernateSession进行创建的;而DetachedCriteria是离线的,创建时无需Session,DetachedCriteria提供了2个静态方法
forClass(Class)或forEntityName(Name)进行DetachedCriteria实例的创建。
8.C#数据类型有哪些?
int整型double双精度型string字符串型char字符型bool布尔型
9.抽象类能否被实例化?抽象类的作用是什么?
抽象类一般不能被实例化;
抽象类通常不是由程序员定义的,而是由项目经理或模块设计人设计抽象类的原因通常是为了规范方法名抽象类必须要继承,不然没法用,作为模块设计者,可以把让底层程序员直接用得方法直接调用,而一些需要让程序员覆盖后自己做得方法则定义称抽象方法
10.SP.NET页面传递值的方式有哪些?
1)通过URL链接地址传递
2)通过post方式
3)通过session
4)通过Application
5)通过Server.Transfersend.aspx:
北京哪里治白癜风长春白癜风专科医院