Import classes or packages
import java.util.*;
import java.util.ArrayList,java.uitl.HashMap;
What difference it makes to the performance of a class
file when we import a specific class or an entire package
For a great Q & A on this very question:
http://www.javaworld.com/javaworld/javaqa/2001-04/01-qa-0406-import.html?
Here is the quoted information:
"Q. Does importing an entire package cause any runtime or compile time overhead? For example, does:
import java.util.*
compared with:
import java.util.Vector
cause any added overhead?
A. In answering your questions a few definitions are helpful:
Imports of the type java.util.Vector; are referred to as single type import
Imports of the form java.util.*; are referred to as import on demand
Both import on demand and single type import are passive mechanisms. As passive mechanisms, import loads information about the package and types only when it is needed. Indeed, the compiler will load this information only when a type is actually used, not when it is simply imported. The import simply tells the compiler where to look when it actually needs a type.
So no, importing an entire package produces no more overhead than importing a specific type.
That being said, it is generally regarded as bad practice to import an entire package using import on demand. Sometimes the number of imports may be large. However, you can quickly look at the list and know what classes the importing class uses. Such a list of imports can provide important documentation to someone unfamiliar with the code. "
Similar Messages
-
Not allowed to import classes without package names?
Hi,
I have a few questions on Packages and importing?
1. Is the following true that it is illegal to import classes in the same package as the current class, will this cause a comilation error? If this is the case where in the Java Language specification is this actually written as I could not find it?
2. This has probably been answered by question 1 but if I have 2 classes in the same package and if I import 1 of the classes into the other class, is it illegal to import it by just using the class name and not the package name as well, ie
if the package name is ie.tcd
and the 2 class names are exp1.class and exp2.class, can I do this in class 2
package ie.tcd;
import exp1;
public class exp2 {
3. Is it illegal to import classes that are not explicitly part of any package or must a class be part of a package to be imported. I read somewhere that while this was always illegal it is only after jdk 1.4.2 that this is being enforced? If this is the case where in the Java Language specification is this actually written as I could not find it either?
Thanks very much for any help,
JohnWas just also wondering, 1 other thing, I am looking
at someone elses code they have 2 classes (Class A
and Class B) in the same package (pkg). The person
imports class A into B:
package pkg;
import A;
public class B {
Is this legal code (or was it ever)?Not if A is really in pkg.A. If there is an A in the unnamed package it was legal, or at least it was understood by the compiler, and now it isn't (to both).
Can you import or is there a point in importing a class in the same
package?Only by naming the package in the import statement. If the current and the import statement are in the same package the import is redundant.
If there is a point would you import just be
using the class name (this would be illegal after jdk
1.4) or should you use the whole package name even
though it is in the package anyways?As I understand it you must always use the whole package name in imports. -
hellow, i have a web aplication named test , and i have a class named conexion
when i import a package "pack" with the class conexion, not problem (test/WEB-INF/classes/pack/conexion.class) <% import="pack.* " %> but when i have only the class conexion WITHOUT package (test/WEB-INF/classes/conexion.class) and i import <%import ="conexion" %> i have problem ("The import conexion cannot be resolved") and when i not import the class i have problem (conexion cannot be resolved to a type) , my question is:
how to i import a class without package in JSP , and if the test/WEB-INF/classes is in the classpath when compile the servlet , why the tomcat not found the class conexion?
(tomcat 5.5.20 , jdk 1.5.09 , vim)
thank
(Sorry my english , i'm from Chile)Hi I am hosting my JSP application with Resin 2.17 which uses classes directly in JSP code (not packages). To make this work I had to specify the classpath in Resin.conf and it worked.
My problem is getting this to work with TomCat or any other application server that will allow me to debug my project in Eclipse or NetBeans IDE. (I have yet to find an IDE that Supports debugging JSP/Java code running on Resin - so I want to switch my application server but I am not sure how to configure my classpath for the application servers to look for java classes in the specified directory just like I did with Resin. -
How to import outer classes into package inner classes?
Hi, hope you all under stand my question. Sample as below:
import A.*;
public class ClassA{
public ClassA{
ClassB.CA = this;
package A;
public class ClassB{
public static ClassA CA; //Problem Here
}As the sample above, i cannot declare public static ClassA CA in ClassB. Any way I can solve this? Can I import ClassA into package A? Thanks.
Edited by: ocboon8 on Apr 6, 2008 6:50 AMA class that is in a package cannot access a class that is not in a package.
db -
i am currently developing a flash movie with no graphics at
the moment. It is being done with a lot of classes and packages,
many of the AS classes import the same packages as well. I have
many linked movie clips to those classes.
The problem is that when i compile it takes quite a long
time. I want to know if there is a way to have a single file for
all my classes (like an include file) as opposed to having a dozen
import lines of code in each AS script.I'm a newbie too, but I thought I would give you this URL. It was extremely helpful when I began using packages. I hope it helps.
http://developer.java.sun.com/developer/onlineTraining/new2java/divelog/part1/page9.jsp -
How can I import my class or package in JSP?
Hello.
I develop jsp. When I assign variables in jsp, everything work fine. For Example:
connStr="jdbc:oracle:thin:@191.168.0.1:1521:orcl";
But I want put some variables inside class or package, so using text editor I created and compiled package:
package Pack1;
public class Test1 extends java.lang.Object {
public static void main(String[] args) {
String ConnStr = "jdbc:oracle:thin:@191.168.0.1:1521:orcl";
or class
class Test1 {
public static void main(String[] args) {
String connStr = "jdbc:oracle:thin:@191.168.0.1:1521:orcl";
But as soon as I put in my jsp line
<%@ page import="Test1" %> or <%@ page import="Pack1.*" %>
I always have an error.
JSP Error:
Request URI:/DateN/search/Search.jsp
Exception:
oracle.jsp.provider.JspCompileException:
Errors compiling:e:\orant\oem8i\apache\apache\htdocs\daten\_pages\_daten\_search\_Search.java
C:\orant\oem8i\apache\apache\htdocs\daten\_pages\_daten\_search\_Search.java:12: Package DateN not found in import.
import Pack1.*; (or Test1)
^
1 error
I using OEM2.2 with Apache-Server under Win2000. I put my classes:
Test1 in package: in folder: C:\orant\oem8i\Apache\Apache\htdocs\WEB-INF\classes\Pack1
If just class, when just in folder: C:\orant\oem8i\Apache\Apache\htdocs\WEB-INF\classes
If I using just class, when I put just in folder: C:\orant\oem8i\Apache\Apache\htdocs\WEB-INF\classes.
Im stack. Anybody can help?
Thank you.Another way. You can use a USB flash drive & the camera connection kit.
Plug the USB flash drive into your computer & create a new folder titled DCIM. Then put your movie/photo files into the folder. The files must have a filename with exactly 8 characters long (no spaces) plus the file extension (i.e., my-movie.mov; DSCN0164.jpg).
Now plug the flash drive into the iPad using the camera connection kit. Open the Photos app, the movie/photo files should appear & you can import. (You can not export using the camera connection kit.)
Secrets of the iPad Camera Connection Kit
http://howto.cnet.com/8301-11310_39-57401068-285/secrets-of-the-ipad-camera-conn ection-kit/
Cheers, Tom -
Importing classes/packages
Does importing an entire package cause the classloader to load ALL the classes in that package into memory or are they loaded only on demand?
Suppose package called MyPackage.
import MyPackage.* - Does this cause all the classes to be loaded into memory ?Here's some more info on the 'import' statement:
http://developer.java.sun.com/developer/TechTips/2000/tt0110.html#tip2 -
Importing packages vs importing classes
What impact does it have if I import a complete package like:
import java.util.*
or import the classes that I need seperately like
import java.util.Vector;
import java.util.Collection;
import java.util.Iterator;Nothing as far as Java is concerned, the compiler only uses what it needs, so there is no efficiency or size considerations.
However, when you have to modify or debug a program that someone else wrote - which has only package imports - you will curse her/him!
So, class imports are by far the better choice. -
How to import classes from an external actionscript file
This is driving me crazy, I've been trying to resolve this on my own for ages, and I've reviewed a lot of different materials, but I still can't seem to just import some external actionscript classes correctly.
I'm using Flash Builder 4 with the Flex 4 SDK on mac osx 10.6
the class I'm trying to import (I'll call it DesiredClass) is in a folder like this
/libraries/com/foreignproject/com/foreignproject/DesiredClass.as
within the class itself, the package declaration looks like this (I left all the guts out for clarity):
package com.foreignproject
import flash.display.Sprite;
public class DesiredClass extends Sprite
public function DesiredClass()
I'm working on a totally different actionscript file at
/Users/username/Documents/Adobe Flash Builder 4/TestProject/src/TestProject.as
in this file I try to import the DesiredClass:
package
import com.foreignproject.DesiredClass;
import flash.display.Sprite;
public class TestProject extends Sprite
public function TestProject()
var neatClass:DesiredClass = new DesiredClass();
And then I try to add the class I want to the source path.
I've tried adding each folder to the source path separately:
/libraries/com/foreignproject/com/foreignproject/DesiredClass.as
/libraries/com/foreignproject/com/foreignproject/DesiredClass.as
/libraries/com/foreignproject/com/foreignproject/DesiredClass.as
/libraries/com/foreignproject/com/foreignproject/DesiredClass.as
/libraries/com/foreignproject/com/foreignproject/DesiredClass.as
If I choose the libraries folder or either of the com folders then an error shows up in theTestProject.as file, saying:
Definition com.foreignproject:DesiredClass could not be found.
But f I choose either of the foreignproject folders then an error shows up in theDesiredClass.as file saying:
a file found in a source-path must have the same package structure 'com.foreignproject', as the definition's package, ".
What am I doing wrong? Please help. I bought a book on actionscript, started doing the flex-in-a-week series, read numerous online discussion boards, and I still can't import these classes.
Thanks in advance.I don't know if this method is supported anymore but you can give it a try.
If you backed up bookmarks in IE using the following directions, you should be good!
*In IE, "File -> Import and Export -> Export Cookies".
*Open newly exported "cookies.txt" in a text editor and put a period before every line that starts with a domain. So a line starting with <b>altavista.com TRUE / FALSE 1388491200 AV_ALL 1</b> will become <b>.altavista.com TRUE / FALSE 1388491200 AV_ALL 1</b>
*Then, move the "cookies.txt" file to your profile folder.
You can get to the Profile folder two ways
*Help > Troubleshooting Information > Profile Directory > Show Folder
or
*Go to '''about:support''' and click Show Folder next to Profile Directory. -
I was reading the tutorial on importing class's. This is what
I read
Importing classes
To reference a class in another script, you must prefix the
class name with the class's package path. The combination of a
class's name and its package path is the class's fully qualified
class name. If a class resides in a top-level classpath
directory--not in a subdirectory in the classpath directory--then
its fully qualified class name is its class name.
To specify package paths, use dot (.) notation to separate
package directory names. Package paths are hierarchical, where each
dot represents a nested directory. For example, suppose you create
a class named Data that resides in a com/xyzzycorporation/ package
in your classpath. To create an instance of that class, you could
specify the fully qualified class name, as shown in the following
example:
var dataInstance = new com.xyzzycorporation.Data();
My Question is about com/xyzzycorporation/ . would the full
class parth be c:/com/xyzzycorporation/ . Why do they never state
the drive letter when teaching about directories.Because there is no need. you don't need to reference the
drive letter.
Here's the basic jist of what they are saying....
Single Class File...
If you create your own custom class and want to use it in
your flash file, save it into the same directory as the fla file
and call the classes constructor. By default flash will look inside
the folder where the fla resides in for the class files if it
cannot find it inside the default directory.
Multiple Class Files - 1 Project (often referred to as
packages)
Use your qualified domain name but backwards.....
my domain is www.sd-dezign.com so if I was going to include a
package of utility class files in my document I would do the
following
Create a folder in the same folder with my fla name it com
and inside that a folder called sddezign and inside that utils and
all my as files would be in there...the folder structure might look
like this....
myfile.fla
com
>sddezign
>>utils
>>>box.as
>>>circle.as
To call the constructor for each class, I have two options.
The first which is by far the easiest looks like this
In whatever frame you need to call that class constructor
include "com.sddezign.utils.*";
var myBox:Box = new Box();
The second method requires more typing and can get tedious
var myBox = new com.sddezign.utils.Box();
Hope this helps you a bit better. -
hi,
i just want to conform that .....
if u r importing a class from same package then u have to write a import for that Class or not.
As in my case i tried both import and no import statement for class1 to import it in class2, but it gives compiler error in both the cases as-----------cannot resolve symbol
symbol : class User
location: class org.apache.struts.example.Dbservlet
public void addUser(User user)
^
plz help to solve this......
AmitaIf your directory structure is something like this:
D:\java\org\apache\struts\example
And in this directory you have the classes Dbservlet.java
and User.java, with the following package statement in both the java class files:
package org.apache.struts.example;
you will not get any error if you compile from the D:\java directory like this:
D:\java>javac org\apache\struts\example\DBServlet.java -
Compilation Error for import classes not found in generated Proxy Class
Hi,
We are generating java classes for the COM dll using JCOM com2java compiler.
We are getting a compilation error for import class not found when compiling the
generated Proxy java source code. It can't find the com.bea.jcom.Dispatch class that
the generated Proxy java source code extends. It also can't find com.bea.jcom.Variant
or com.bea.jcom.Param. These are interfaces or data types or classes used by COM
library.
I added weblogic.jar to my class path and the only Dispatch class i found inside
the weblogic.jar is com.linar.jintegra.Dispatch;
We have com objects for which we want to develop an EJB client to interface with
the COM object using JCOM with Native Mode disabled.
Any help on the compilation error..I tried changing the extends for Dispatch to com.linar.jintegra.Dispatch
but the other errors are still there.
To begin with, I think the generated code should not refer to any of the COM data
types.
Any help please.
Thank you in advance,
Regards,
Rahul Srivastava
[email protected]Hi,
I resolved the other errors by changing all references from com.bea.jcom.Variant
etc to com.linar.jintegra.class name..all were present under the com.linar.jintegra
package.
Thank you all anyways,
Regards,
rahul
"Rahul Srivastava" <[email protected]> wrote:
>
Hi,
We are generating java classes for the COM dll using JCOM com2java compiler.
We are getting a compilation error for import class not found when compiling
the
generated Proxy java source code. It can't find the com.bea.jcom.Dispatch
class that
the generated Proxy java source code extends. It also can't find com.bea.jcom.Variant
or com.bea.jcom.Param. These are interfaces or data types or classes used
by COM
library.
I added weblogic.jar to my class path and the only Dispatch class i found
inside
the weblogic.jar is com.linar.jintegra.Dispatch;
We have com objects for which we want to develop an EJB client to interface
with
the COM object using JCOM with Native Mode disabled.
Any help on the compilation error..I tried changing the extends for Dispatch
to com.linar.jintegra.Dispatch
but the other errors are still there.
To begin with, I think the generated code should not refer to any of the
COM data
types.
Any help please.
Thank you in advance,
Regards,
Rahul Srivastava
[email protected] -
Inner class vs. imported class
Hi everyone,
I have entitiy beans created for a client's web app I'd like to use in the
web service using WebLogic Workshop 7.0. Say the classes are imported like
this in the services:
import com.hoike.clientname.ap.bean.Invoice
import com.hoike.clientname.ap.bean.Vendor
Instances of these classes are used in callback methods and some of the
service methods.
When I generate the CTRL file, it actually adds those imported classes as
inner class of the service defined.
The problem is that when I try to used these services from another service,
I cannot use the imported classes (as Invoice or Vendor), but instead I have
to use the inner class (InvoiceService.Invoice or VendorService.Vendor)
Does WebLogic Workshop 7.0 only allow you to use inner classes? Is there a
way to use custom classes as method parameters?
Thanks in advance!
Makotohow do you declare your inner class?
Is it (public)
public static class MyInnerClassor (private)
private static class MyInnerClassor (package)
static class MyInnerClassor (protected)
protected static class MyInnerClassTry to change the way you declare the inner class. Use protected or package or public instead. -
Problem importing classes and beans
Hey there. Im having one major fustrating problem! When I code supporting classes and beans for my JSPs I get a code 500 internal server error when trying to import (via <%@ page import="class" %> and <jsp:useBean/>) Im storing my classes and beans in the WEB-INF folder and the calling JSPs are located in /ROOT/tests/8/jsp.jsp. Im using the following to import a class or bean:
<%@ import="aClass" %>
Seen as tho its in the WEB-INF folder I won't have to explicitly refer to where the class is located, just the class name.
I never had this problem when I was using my hosting service. Its only on my localhost server in which I get the Internal Server error.
Help appreciated, thx.
PS: Im quite new to JSP/Java Servlet.import (via <%@ page import="class" %> and
<jsp:useBean/>) Im storing my classes and beans in the
WEB-INF folder try put your class file in WEB-INF/classes.
or first put bean in the package, like WEB-INF/classes/packagename/beanclass
in jsp page:
<jsp:useBean id="Mybean" class="packagename.beanclass" scope="request" />
Question: is /ROOT a context entry in your server.xml?
Which JSP Container (version) you use? Maybe your localhost server's set up is different with your hosting. -
here's the code, on the swf's _root:
import com.website.package.Application;
//Application.Main( this, "Menu" );
even with the second line commented out, we get a big freeze,
whole seconds of wait. the movie just completely stops playing,
even an onEnterFrame method on the _root won't run until the import
is finished. just nothing but waiting for the code to import.
Application.as links off to an MVC architecture with a whole bunch
of additional classes etc. and the inclusion of this line is enough
to turn a 3K swf into a 443K swf.
erk! what can you do about that?!?!?
ri'd love to. the problem is though that the movie itself has
frozen. i put a test preloader in that displays bytes loaded
alongside bytesto load. they sat and did nothing until the import
was finished, then both displayed 442K. so then i got rid of that
and put a simple 2 frame vibrating MC on their instead. it was
motionless until the import was finished
i can't emphasise this enough: it's not a big preload its the
fact that the movie won't run AT ALL until the import is done. its
a big problem.
Maybe you are looking for
-
Sharepoint 2013 vs Exchange 2010 SP3 search (Error while crawling LOB contents)
Hi there: We are trying to solve the problem: ERROR CRAWLING LOB CONTENTS when we wish to search Exchange 2010 SP3 public folder content on Sharepoint 2013 Foundation. Quick briefing: Followed this instructions: http://technet.microsoft.com/en-us/lib
-
SYSTEM HANGS WHILE RUNNING EXP COMMAND IN ORACLE 10G
WHEN WE ARE RUNNING THE EXP (EXPORT) COMMAND IN ORACLE 10G TO TAKE THE BACKUP IT GETS HANGED FOR A LONG TIME AND THEN IN THE LOG FILE WE FIND THE FOLLOWING ERROR MESSAGE. SOMETIMES AFTER RESTARTING THE SERVER WE ARE ABLE TO RUN THE EXP COMMAND. Conne
-
How do I create if statements - Beginner to LiveCycle 8
Hi, I'm brand new to this (and not a programmer, so go easy with me on the code!). I have a couple of radio buttons in an exclucsion group called DoctorSelect - one button for 'yes' and one for 'no'. If either nothing or the 'no' are selected I want
-
Portal export - page not found on view log shell script download
We are currently developing with Portal Version: 9.0.2.2.14A on a Solaris box and I am having difficulty exporting to my production servers. I am following the directions in the Metalink document titled "Exporting/Importing in Oracle Portal 9.0.X" (D
-
i have an unlock iphone 4s that i buy it not from apple store can and i broke the screen can i repair the screen i apple and how mich is it if yes??