小弟学java以来对下面几个概念一直很糊涂:
实体类,抽象类,接口,内部类,内部匿名类
可否解释下它们得具体用途,它们之间得区别和联系,最好举些简单得例子,非常感谢!

解决方案 »

  1.   

    imA(男的不会,会的不男):
    看书当时觉得清楚了,但是后来发现又不清楚了,不能灵活运用,写代码得时候不知道何时用好!不知道你有没有这种感觉??
      

  2.   

    其实对于这些基本概念的使用,java本身就是很好的例子。
    也就是对面向对象思想的运用而已。
    你可以看看java的源码中,有好多的接口,抽象,实体类这些东东的。
    关于内部类,内部匿名类这些,在java的事件处理中用的也比较多的。
    你重点看一下awt或者是swing这类的源码,这些东东你都会用到。
    如果你想学习关于这些的更高更理论的用法呢,
    我本人建议你去看看设计模式,它里面讲的呢就是对面向对象的运用。
    不过当你看过后,你会发现,面向对象会了,而设计模式却又不知道用到什么地方。
    这是每一个学习开发的人员都会见到的情况。
    在这个时候要有耐心的,系统的去学习一下。
    多看些书和例子才是最重要的。这些东西的应用不是一个小小例子就能搞定的。
      

  3.   

    21天学java解释的很清楚
    他会根据每个定义举例子
    非常的清楚 建议楼主好好看看这本书
      

  4.   

    to graybaby(秋天来了,冬天还会远吗?) :
    21天学java书得全名叫啥?哪个出版社得?价格多少?谢谢!to changzhang(爪哇猫) :
    关于设计模式,推荐本好书可以吗?适合初学设计模式得读者得,谢谢!
      

  5.   

    简单地说:匿名内部类就是没有名字的内部类。什么情况下需要使用
    匿名内部类?如果满足下面的一些条件,使用匿名内部类是比较合适的: 
    ·只用到类的一个实例。 
    ·类在定义后马上用到。 
    ·类非常小(SUN推荐是在4行代码以下) 
    ·给类命名并不会导致你的代码更容易被理解。 
    在使用匿名内部类时,要记住以下4个原则: 
    ·匿名内部类不能有构造方法。 
    ·匿名内部类不能定义任何静态成员、方法和类。 
    ·匿名内部类不能是public,protected,private,static。 
    ·只能创建匿名内部类的一个实例。 
    下面是匿名内部类的用法举例。请读者通过例子来体会匿名内部类的用法。 
    示例8:(注意:匿名内部类以“;”结束) 
    import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    public class Test extends JFrame 

    Test() 

    super("test_title"); 
    Container cp = getContentPane(); 
    cp.setLayout(new FlowLayout()); 
    JButton btn = new JButton("close"); 
    cp.add(btn); 
    btn.addActionListener(act); 
    setSize(300,200); 

    ActionListener act = new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    System.exit(0); 

    }; 
    public static void main(String[] args) 

    Test test = new Test(); 
    test.setVisible(true); 


    示例9:(根据示例8改编) 
    import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    public class Test extends JFrame 

    Test() 

    super("test_title"); 
    Container cp = getContentPane(); 
    cp.setLayout(new FlowLayout()); 
    JButton btn = new JButton("close"); 
    cp.add(btn); 
    btn.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    System.exit(0); 

    }); 

    public static void main(String[] args) 

    Test test = new Test(); 
    test.setSize(300,200); 
    test.setVisible(true); 


      

  6.   

    java与模式太厚了
    不过看起来比较好理解
      

  7.   

    仔细看书,thinking in java
      

  8.   

    <java与模式>的作者是谁?哪个出版社的?价格多少??