Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

import class file in java [closed]

I have a main directory (contains main.java) and a subdirectory( contains child.java).

My problem is how to instantiate child.java in main.java

  1. I have made the child class public. & added the line#1 as package mypackage
  2. I have compiled child.class with javac -d . child.java which creates a new mypackage directory.
  3. I tried to import child class in main as follows: import subdirectory.mypackage.* (note -d option places the child.class inside mypackage folder)
  4. I compiled the main.java file with "javac main.java"

I get the following error:

mainAESE.java:9: cannot access subdirectory.child
bad class file: RegularFileObject[./subdirectory/child
class file contains wrong class: mypackage.child
Please remove or make sure it appears in the correct subdirectory of the class
child childInstance= new child();
^
1 error

please help me!!

like image 838
Rookie Avatar asked Dec 06 '12 06:12

Rookie


1 Answers

Be ensure that the package folder mypackage and Main.class share the parent folder.

package mypackage;
public class Child {}

I presume that the Main class is created in default package.

public class Main {
   public static void main(String []args){
         mypackage.Child child=new mypackage.Child();
   }
}

and your directory structure should be:

main-directory/
              |
              |----/mypackage/
                            Child.class
              |
              | Main.class
              | Main.java
              | Child.java

and to launch/load the Main issue following command,

java Main

like image 150
KV Prajapati Avatar answered Oct 17 '22 20:10

KV Prajapati