<html devsite="true">
  <head>
    <title>OuterClass</title>
{% setvar book_path %}/reference/dokkatest/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <div id="metadata-info-block"></div>
    <h1>OuterClass</h1>
    <p>
      <pre>public abstract class <a href="/reference/dokkatest/inner/OuterClass.html">OuterClass</a></pre>
    </p>
    <div class="devsite-table-wrapper"><devsite-expandable><span class="expand-control jd-sumtable-subclasses">Known direct subclasses
        <div class="showalways" id="subclasses-direct"><a href="/reference/dokkatest/inner/OuterClass.InnerClass.html">OuterClass.InnerClass</a></div>
      </span>
      <div id="subclasses-direct-summary">
        <div class="devsite-table-wrapper">
          <table class="responsive">
            <colgroup>
              <col width="40%">
              <col>
            </colgroup>
            <tbody class="list">
              <tr>
                <td width="40%"><code><a href="/reference/dokkatest/inner/OuterClass.InnerClass.html">OuterClass.InnerClass</a></code></td>
                <td>
                  <p>I collect the stones.</p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
</devsite-expandable>    </div>
    <div class="devsite-table-wrapper"><devsite-expandable><span class="expand-control jd-sumtable-subclasses">Known indirect subclasses
        <div class="showalways" id="subclasses-indirect"><a href="/reference/dokkatest/inner/OuterClass.Leaf.html">OuterClass.Leaf</a></div>
      </span>
      <div id="subclasses-indirect-summary">
        <div class="devsite-table-wrapper">
          <table class="responsive">
            <colgroup>
              <col width="40%">
              <col>
            </colgroup>
            <tbody class="list">
              <tr>
                <td width="40%"><code><a href="/reference/dokkatest/inner/OuterClass.Leaf.html">OuterClass.Leaf</a></code></td>
                <td>
                  <p>I'm at the bottom of the hierarchy.</p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
</devsite-expandable>    </div>
    <hr>
    <p>I'm the outsider.</p>
    <h2>Summary</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <colgroup>
          <col width="40%">
          <col>
        </colgroup>
        <thead>
          <tr>
            <th colspan="100%"><h3>Nested types</h3></th>
          </tr>
        </thead>
        <tbody class="list">
          <tr>
            <td>
              <div><code>public class <a href="/reference/dokkatest/inner/OuterClass.InnerClass.html">OuterClass.InnerClass</a> extends <a href="/reference/dokkatest/inner/OuterClass.html">OuterClass</a> implements <a href="/reference/dokkatest/inner/OuterClass.InnerInterface.html">OuterClass.InnerInterface</a></code></div>
              <p>I collect the stones.</p>
            </td>
          </tr>
          <tr>
            <td>
              <div><code>public enum <a href="/reference/dokkatest/inner/OuterClass.InnerEnum.html">OuterClass.InnerEnum</a> extends <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">Enum</a></code></div>
              <p>I offer choices.</p>
            </td>
          </tr>
          <tr>
            <td>
              <div><code>public interface <a href="/reference/dokkatest/inner/OuterClass.InnerInterface.html">OuterClass.InnerInterface</a></code></div>
              <p>I guide others to a treasure I cannot possess.</p>
            </td>
          </tr>
          <tr>
            <td>
              <div><code>public final class <a href="/reference/dokkatest/inner/OuterClass.Leaf.html">OuterClass.Leaf</a> extends <a href="/reference/dokkatest/inner/OuterClass.InnerClass.html">OuterClass.InnerClass</a></code></div>
              <p>I'm at the bottom of the hierarchy.</p>
            </td>
          </tr>
          <tr>
            <td>
              <div><code>public static class <a href="/reference/dokkatest/inner/OuterClass.Leaf.Companion.html">OuterClass.Leaf.Companion</a></code></div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <colgroup>
          <col width="40%">
          <col>
        </colgroup>
        <thead>
          <tr>
            <th colspan="100%"><h3>Public constructors</h3></th>
          </tr>
        </thead>
        <tbody class="list">
          <tr>
            <td>
              <div><code><a href="/reference/dokkatest/inner/OuterClass.html#OuterClass()">OuterClass</a>()</code></div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <colgroup>
          <col width="40%">
          <col>
        </colgroup>
        <thead>
          <tr>
            <th colspan="100%"><h3>Protected methods</h3></th>
          </tr>
        </thead>
        <tbody class="list">
          <tr>
            <td width="40%"><code>abstract void</code></td>
            <td>
              <div><code><a href="/reference/dokkatest/inner/OuterClass.html#implementMe()">implementMe</a>()</code></div>
              <p>I need help.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="list">
      <h2>Public constructors</h2>
      <div class="api-item"><a name="OuterClass--"></a><a name="outerclass"></a>
        <h3 class="api-name" id="OuterClass()">OuterClass</h3>
        <pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/dokkatest/inner/OuterClass.html#OuterClass()">OuterClass</a>()</pre>
      </div>
    </div>
    <div class="list">
      <h2>Protected methods</h2>
      <div class="api-item"><a name="implementMe--"></a><a name="implementme"></a>
        <h3 class="api-name" id="implementMe()">implementMe</h3>
        <pre class="api-signature no-pretty-print">protected&nbsp;abstract&nbsp;void&nbsp;<a href="/reference/dokkatest/inner/OuterClass.html#implementMe()">implementMe</a>()</pre>
        <p>I need help.</p>
      </div>
    </div>
  </body>
</html>
