数据库一句update sql的对比: 
Java:
String sqlUpdate = ".........";     //一句简单的update sql
Connection conn = XXX.getConnection();  //获得DB Connection
PreparedStatement preStmt=conn.prepareStatement(sqlUpdate );  //获得PreparedStatement 
preStmt.executeUpdate();  //执行update
preStmt.close();
conn.close();C#: 
string sqlUpdate = ".........";     //一句简单的update sql
string connectString = "......";    //定义一个连接DB的信息字符串;
OracleConnection conn=new OracleConnection(connectString);
conn.Open();
OracleCommand myCommand = new OracleCommand(sqlUpdate, conn);
myCommand.ExecuteNonQuery();
conn.Close();
乍看之下, 基本没区别, 除了Connection对应变成OracleConnection, PreparedStatement变成OracleCommand;  但是仔细看看:先看C#, OracleConnection,OracleCommand都是类! 
再看JAVA, Connection,PreparedStatement都是接口! C#用类来执行方法, 毫无疑问,当然OK.
JAVA用接口来执行方法, 就有疑问啦~  为什么一个接口可以执行它的方法呢??  
也就是说conn.prepareStatement()方法和preStmt.executeUpdate()方法, 都是接口的方法; 顾名思义, 接口的方法是未实现的方法, 为什么可以执行???  当然对于熟悉面向对象概念的人来说, 这是很容易想通的;不过通过此例看出, Java和.Net在接口上, 注重程度和侧重点决然不同.大家继续讨论~

解决方案 »

  1.   

    我没用过c sharp,不过我觉得它完全可以使用像在java中使用的一样的方法,本来这就是接口的一个merit.
      

  2.   

    > JAVA用接口来执行方法, 就有疑问啦~  为什么一个接口可以执行它的方法呢??
    > 接口的方法是未实现的方法, 为什么可以执行???这个是 Java 语言的基本概念问题,建议楼主先在基本概念方面多下下功夫。至少把这个“疑问”解决掉,再回来讨论“Java和.Net对接口的注重程度”这样的“高级话题”,也许就可以避免掉一些不必要的麻烦了。