File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes problems in subpackage and imports Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "problems in subpackage and imports" Watch "problems in subpackage and imports" New topic

problems in subpackage and imports

Rahul Sudip Bose
Ranch Hand

Joined: Jan 21, 2011
Posts: 637

I have created a package 'A' with sub-package 'B' and 'C' and some more. B and C have sub-packages B1 and C1 respectively. B1 has classes b1,b2 and C1 has classes c1,c2 etc.
Only Public access modifiers are used EVERYWHERE - methods, fields etc. Can I make c1 import import B1. This "project" consists of simple print statements and no practical methods.
You may assume that the syntax and logic is correct in each class.

any advice regarding this query will be highly appreciated.

Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15092

Welcome to the Ranch.

Yes, you can do that with an import statement. Did you try it out yourself? If you did and it didn't work, then please explain what error message you got, what command you typed in to compile your classes and what the directory structure of your code looks like.

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46397
Welcome to the Ranch

rahul boseofindia wrote: . . . Only Public access modifiers are used EVERYWHERE - methods, fields etc. . . . You may assume that the syntax and logic is correct in each class.
Those two sentences are mutually contradictory. Public fields are incorrect logic until proven otherwise.

What have you tried? Are you receiving any error messages?

Stop think about subpackages. Stop thinking they are sub-anything. You don't have a subpackage called B or B1 (which are incorrect style for package names). You have a package called A.B.B1, so you would have to use the full package name in your import statements.

[Damn! Jesper has beaten me to it]
Souvvik Basu
Ranch Hand

Joined: Apr 05, 2010
Posts: 96

I have a very similar problem. Since I was not doing any serious project, the names are all funny.

My folder structure is like this : a folder called body. This has 3 sub-folders,left,right and centre. Left has folders hand and leg.

There are other sub-folders in the other 2 folders as well. Each folder has 1 class, TestXXXX, where XXXX is name of folder (eg. hand folder has class TestHand) and the class has only 1 method, showXXXX (eg. showHand() method in TestHand class).

The code for 1 class is like this :

The codes in other classes are similar. What I am trying to do is, access method showLeg() of TestLeg class from the hand folder using a class Test, which looks like this :

When I try to compile class Test going inside the folder hand, I get the following error : package body.left.leg does not exist

However, instead of using the Test class in the hand folder, if I use it in the parent folder that contains the body folder, I am able to access all classes anywhere in the directory structure. In other words, I cannot access a sub-package from another sub-package, but I can access any sub-package from the main package.

Can you please help me with this?

OCJP 6.0
I agree. Here's the link:
subject: problems in subpackage and imports
It's not a secret anymore!