Comment Rules For Java Source Files

Each Java source file contains a single public class or interface. When private classes and interfaces are associated with a public class, you can put them in the same source file as the public class. The public class should be the first class or interface in the file.

Java source files have the following ordering:

  • Beginning comments
  • Package and Import statements
  • Class and interface declarations

Java Source File Example

The following example shows how to format a Java source file containing a single public class. Interfaces are formatted similarly.

/*
 * @(#)Blah.java        1.82 99/03/18
 *
 * Copyright (c) 1994-1999 Sun Microsystems, Inc.
 * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 */

package java.blah;

import java.blah.blahdy.BlahBlah;

/**
 *
 *
 Class description goes here.
 *
 * @version
 *
 1.82 18 Mar 1999
 * @author
 *
 Firstname Lastname
 */
public class Blah extends SomeClass {

    /* A class implementation comment can go here. */

    /**
     *
     classVar1 documentation comment */
    public static int classVar1;

    /**
     *
     *
     *
     *
     classVar2 documentation comment that happens to be
     *
     *
     more than one line long
     */
    private static Object classVar2;

    /**
     *
     instanceVar1 documentation comment */
    public Object instanceVar1;

    /**
     *
     instanceVar2 documentation comment */
    protected int instanceVar2;

    /**
     *
     instanceVar3 documentation comment */
    private Object[] instanceVar3;

    /**
     * ...
     *
     constructor Blah documentation comment...
     */
    public Blah() {

        // ...implementation goes here...
    }

    /**
     * ...
     *
     method doSomething documentation comment...
     */
    public void doSomething() {

        // ...implementation goes here...
    }

    /**
     * ...method doSomethingElse
     *
     documentation comment...
     * @param someParam
     *
     description
     */
    public void doSomethingElse(Object someParam) {

        // ...implementation goes here...
    }
}

Original Post
http://www.oracle.com/technetwork/java/codeconventions-137946.html#182

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s