+ 1
Package in java
In these codes when I am trying to import all the classes and the trying to run using javac -d . classname.java it is showing error that the animals class is not imported. But when I am manually making package folder and then trying to run using normal command it is running. https://code.sololearn.com/c3r9owOg9tZ2/?ref=app https://code.sololearn.com/cxxzq1SWX7FQ/?ref=app
4 ответов
+ 1
What you have missed is that you are programming in SoloLearn, and SoloLearn separates your files, you can't create a package as one code and then use it in another code since they are not really connected, as long as you don't call the exact directory of the package in the server, and run in the server both codes in the same time, SoloLearn will not be able to recognize the package you are calling.
Solution: Program in your computer. In general it is always the best to code in your computer and not in an online service.
+ 1
I have tried it in computer.
It is not working.
+ 1
Get them in the same folder
+ 1
Package in Java is a mechanism to encapsulate a group of classes, sub packages and interfaces. Packages are used for:
Preventing naming conflicts. For example there can be two classes with name Employee in two packages, college.staff.cse.Employee and college.staff.ee.Employee
Making searching/locating and usage of classes, interfaces, enumerations and annotations easier
Providing controlled access: protected and default have package level access control. A protected member is accessible by classes in the same package and its subclasses. A default member (without any access specifier) is accessible by classes in the same package only.
Packages can be considered as data encapsulation (or data-hiding).
All we need to do is put related classes into packages. After that we can simply write a import a class from existing packages and use it in our program. A packages is container of group of related classes where some of the classes are accessible are exposed and others are kept for internal purpose.
We can reuse existing classes from the packages as many time as we need it in our program.
How packages work?
Package names and directory structure are closely related. For example if a package name is college.staff.cse, then there are three directories, college, staff and cse such that cse is present in staff and staff is present college. Also, the directory college is accessible through CLASSPATH variable, i.e., path of parent directory of college is present in CLASSPATH. The idea is to make sure that classes are easy to locate.
Package naming conventions : Packages are named in reverse order of domain names, i.e., org.geeksforgeeks.practice. For example, in a college, the recommended convention is college.tech.cse, college.tech.ee, college.art.history, etc.