当前位置:  技术问答>java相关

新手问题,给分!!

    来源: 互联网  发布时间:2015-11-10

    本文导语:  我是刚由VB转入JAVA的,在学习过程中,有个问题:    JAVA中的Interface的作用到底是干什么的(请不要用书上的话来敷衍),做好用一个必须的例子说明一下 ,我觉得,在许多情况下,不用Interface,也可以解决,且...

我是刚由VB转入JAVA的,在学习过程中,有个问题:
   JAVA中的Interface的作用到底是干什么的(请不要用书上的话来敷衍),做好用一个必须的例子说明一下 ,我觉得,在许多情况下,不用Interface,也可以解决,且蛮方便。
   如说Interface是用来使不同类拥有相同的方法的话,那么干吗这么费时,先写一个Interface,然后,再在各个子类中在注意说明各个子类的方法呢(override)?
   待!!!!

|
我个人经验认为,接口还是为了实现多重继承而设定的
java不能继承多个class,但是可以扩展多个接口,从而实现多重继承
搂主所说的:“
如说Interface是用来使不同类拥有相同的方法的话,那么干吗这么费时,先写一个Interface,然后,再在各个子类中在注意说明各个子类的方法呢(override)?

其实应该是“Interface是用来使单个类拥有多种不同的方法”,当然这些方法大多都是常规性的需求,比如JDBC中大多的接口,从中就可以看出其作用
JAVA申明这些接口,但不做实际的实现,这样,不同的中间开发商就可以开发自己的JDBC驱动等,只要实现这些接口就行。所以,如果如楼主的理解,不想费时,直接在接口中实现方法的需求,则会对代码的开发添加许多限制,也会对程序功能有很多影响
其实接口涉及的东西很多,我只是简单针对楼主的东西说说自己的意见,未必正确

|
强烈建议研究一下rmi,再来考虑接口的问题。这可是接口问题的最经典的应用呀。

|
//: StringSortTest.java
// A generic sorting vector
import java.util.*;

interface Compare {
  boolean lessThan(Object lhs, Object rhs);
  boolean lessThanOrEqual(Object lhs, Object rhs);

//////////////////////////////////////////////////////////////////////
class SortVector extends Vector {
  private Compare compare; // To hold the callback
  public SortVector(Compare comp) {
    compare = comp;
  }
  public void sort() {
    quickSort(0, size() - 1);
  }
  private void quickSort(int left, int right) {
    if(right > left) {
      Object o1 = elementAt(right);
      int i = left - 1;
      int j = right;
      while(true) {
        while(compare.lessThan(
              elementAt(++i), o1))
          ;
        while(j > 0)
          if(compare.lessThanOrEqual(
             elementAt(--j), o1))
            break; // out of while
        if(i >= j) break;
        swap(i, j);
      }
      swap(i , right);
      quickSort(left, i-1);
      quickSort(i+1, right);
    }
  }
  private void swap(int loc1, int loc2) {
    Object tmp = elementAt(loc1);
    setElementAt(elementAt(loc2), loc1);
    setElementAt(tmp, loc2);
  }

//////////////////////////////////////////////////////////////////////////
public class StringSortTest {

  static class StringCompare implements Compare {
    public boolean lessThan(Object l, Object r) {
      return ((String)l).toLowerCase().compareTo(
        ((String)r).toLowerCase()) 

    
 
 

您可能感兴趣的文章:

  • JDBC的问题,新手高手都来看看吧,说不定能帮帮我这个新手呢,谢谢!
  • 新手问题:中文问题等
  • 新手问题,关于liux安装启动的问题。
  • 新手有关linux的问题!
  • (新手问题)关于QT的问题
  • 一个蛋疼的问题,我是新手
  • 新手问题:RH怎么退回字符界面? 急!!!!
  • 新手问SCO UNIX安装问题
  • 新手学linux,关于vmware tools的问题。
  • 新手求教:关于ftp命令的问题,请大家帮帮忙
  • Java新手上路之问题
  • 新手,关于Gaim的问题,在线等
  • 新手问的小问题
  • linux新手问题
  • 新手学习linux的问题
  • 新手,菜鸟问题
  • 新手来请教一个关于IDE的问题
  • linux 分区 储存问题,纠结,想不明白了(新手)
  • 大家好,我是linux新手,有些问题请教
  • 新手小问题,望各位高手指导!!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 新手如何加入开源项目 有什么好的c++,java 开源适合新手 请指点!
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 新手关于驱动开发的疑问
  • 新手急求~~~~~~~~~~~~~~~~~~~
  • 新手学习该用哪个版本
  • 面向新手的终端辅助工具 Clicompanion
  • 我是个新手,请各位老兄给介绍基本好书?
  • 数据库 iis7站长之家
  • 我是新手
  • 新手:用WEB页面修改数据库中的表?
  • 我是一名新手,请问如何学java
  • (新手)这里怎么看到300篇以外的所有文章?(不是搜索)
  • 新手求助!
  • 新手上路,怎样判断网卡是否安装成功?
  • !!新手求救!!
  • 新手在此多谢了:SUN的宠物商店
  • 新手请教,我用VI时按ESC键,总是回嘟嘟嘟嘟响,请问如何去掉!谢谢!
  • 新手求救!!关于变量初始化
  • 新手,请多指教!!
  • 我是新手,安装好unix后,要如何安装鼠标?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3