Definition of an internal external external java file

I want to create a class ClassBas an inner class ClassA, but I want to write out a ClassA.javafile.

How can i do this?

It will be a lot of inner class, but it ClassA.javawill be huge .

UPDATE
I really want to define ten classes that will be available to only one class. All of them are defined inside one package.

Thank.

+5
source share
4 answers

Put all your classes in a package and define classes that will be private packages.

package com.example.here

class Hello{
    //...
}

public? Hello, , , com.example.here.

+8

, .

, , .

, , , - . ?

+13

UPDATE
, . .

, . , . , ( public/private/protected). . , , , .

. .

+2

...

  • no-longer-inner-class
  • no-longer-inner-class-private-private ( )
  • , , . , , ...

a)

class Outer {

    class SomeInnerClass extends SomeClass {
        // More specific code here
    }
}

class SomeClass {
    // A lot of generic code here (in a different file)
}

b)

( ) , , . .

abstract class SomeClass {

    protected abstract SpecificData getSpecificData();

    void someMethod() {
        SpecificData specificData = getSpecificData();

        // Do work with the "specific data" here ...
    }
}


class Outer {

    private SpecificData mSpecificData = new SpecificData();

    class SomeInnerClass extends SomeClass {

        @Override
        protected SpecificData getSpecificData() {
            return OuterClass.mSpecificData;
        }
    }
}

, , ... , GeneralData ( SomeClass) getSpecificData() () .

Again: This can be terribly misused to create very poor unreadable code, but it can also be used for very nice patterns under the right circumstances, one way or another it should answer the original question.

+1
source

All Articles