Question: well,
I am currently developing an application which uses JFrame and Applet.

Why we can't extend both..

```
public class myClass extends Applet, javax.swing.JFrame {...}
//invalid...

```

The valid code is.

```
public class myClass extends Applet {
    javax.swing.JFrame frame = new javax.swing.JFrame();
    public void init(){
        frame.setSize(300, 400);
        frame.setVisible(true);
    }
}

```

Why so?
Why we can't extends more than one class

Answer: 
The designers of Java learned from the mistakes made in other languages such as C++ where the [`diamond problem`](http://www.programmerinterview.com/index.php/c-cplusplus/diamond-problem/) was an issue caused by multiple inheritance so decided to make Java a single inheritance language to simplify development.
This is how Java works. It just doesn't support multiply inheritance. There are many reasons why multiply inheritance may be dangerous. For example there can be a name conflict.

On the other hand you can implement as many interfaces as you want to.