<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang="en">
  <head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="Content-Style-Type" content="text/css">

    <title>New Java Class Wizard</title>
    <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
    <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
  </head>

  <body>
    <h1>New Java Class Wizard</h1>

    <p>The
    <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.newWizard(newWizardId=org.eclipse.jdt.ui.wizards.NewClassCreationWizard)")'>
    <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="Opens the New Java Class wizard">
    <b>New Java Class</b></a> wizard
    helps you to create a new Java class in in a Java project.</p>

    <table border="1" cellspacing="0" cellpadding="5" summary="New Java class settings">
      <caption>
        Java Class Options<br>
      </caption>

      <tr>
        <th>Option</th>

        <th>Description</th>

        <th>Default</th>
      </tr>

      <tr>
        <td align="left" valign="top">Source folder</td>

        <td align="left" valign="top">Enter a source folder for the new class. Either type a valid source folder path or click <span class="control">Browse</span> to select a
        source folder via a dialog.</td>

        <td align="left" valign="top">The source folder of the element that was selected when the wizard has been started.</td>
      </tr>

      <tr>
        <td align="left" valign="top">Package</td>

        <td align="left" valign="top">Enter a package to contain the new class. You can select either this option or the Enclosing Type option, below. Either type a valid package
        name or click <span class="control">Browse</span> to select a package via a dialog.</td>

        <td align="left" valign="top">The package of the element that was selected when the wizard has been started.</td>
      </tr>

      <tr>
        <td align="left" valign="top">Enclosing type</td>

        <td align="left" valign="top">Select this option to choose a type in which to enclose the new class. You can select either this option or the Package option, above. Either
        type a valid name in the field or click <span class="control">Browse</span> to select a type via a dialog.</td>

        <td align="left" valign="top">The type or the primary type of the compilation unit that was selected when the wizard has been started or &lt;blank&gt;</td>
      </tr>

      <tr>
        <td align="left" valign="top">Name</td>

        <td align="left" valign="top">Type a name for the new class.</td>

        <td align="left" valign="top">&lt;blank&gt;</td>
      </tr>

      <tr>
        <td align="left" valign="top">Modifiers</td>

        <td align="left" valign="top">
          <p>Select one or more access modifiers for the new class.</p>

          <ul>
            <li>Either public, default, private, or protected (private and protected are only available if you specify an enclosing type)</li>

            <li>abstract</li>

            <li>final</li>

            <li>static (only available if you specify an enclosing type)</li>
          </ul>
        </td>

        <td align="left" valign="top">public</td>
      </tr>

      <tr>
        <td align="left" valign="top">Superclass</td>

        <td align="left" valign="top">Type or click <span class="control">Browse</span> to select a superclass for this class.</td>

        <td align="left" valign="top">The type (not the compilation unit!) that was selected when the wizard has been started or &lt;java.lang.Object&gt;</td>
      </tr>

      <tr>
        <td align="left" valign="top">Interfaces</td>

        <td align="left" valign="top">Click <span class="control">Add</span> to choose interfaces that the new class implements.</td>

        <td align="left" valign="top">&lt;blank&gt;</td>
      </tr>

      <tr>
        <td align="left" valign="top">Which method stubs would you like to create?</td>

        <td align="left" valign="top">
          <p>Choose the method stubs to create in this class:</p>

          <ul>
            <li>public static void main(String [] args): Adds a main method stub to the new class.</li>

            <li>Constructors from superclass: Copies the constructors from the new class's superclass and adds these stubs to the new class.</li>

            <li>Inherited abstract methods: Adds to the new class stubs of any abstract methods from superclasses or methods of interfaces that need to be implemented.</li>
          </ul>
        </td>

        <td align="left" valign="top">Inherited abstract methods enabled</td>
      </tr>
      
      <tr>
        <td align="left" valign="top">Do you want to add comments?</td>

        <td align="left" valign="top">When selected, the wizard adds comments to the new class where appropriate.</td>

        <td align="left" valign="top">Do not add comments</td>
      </tr>
      
    </table>
	<p>
      <img src="../images/ngrelr.png" alt="Related reference" border="0" >
    </p>
	<p>
     <a href="../reference/ref-menu-file.htm">File actions</a></p>

    
  </body>
</html>

