Java theory question

Hi,
Why is it possible that we can declare a variable to be of an interface type and yet at the same time assign to it an object?
For example, I have an interface class (Interface), 1 class (FirstClass) that implements the interface and another 1 class (SecondClass) which not only implements the interface but also declares an instance variable to incorporate an interface object. (Concept of re-use by composition).
Subsequently, I have another class that declares a variable to be the interface type (Interface) and yet assign to it a (SecondClass) object. The code goes something like this:
Interface var = new SecondClass(new FirstClass());
How is it possible that I can access all the methods found in FirstClass?
Thanks in advance.

You can't use the non-interface methods in FirstClass. The only thing that's important when you writeList list = new LinkedList ();is that you're interested in the methods (and fields) that are defined in the interface. You can't use removeFirst (which is in LinkedList), but you're not interested in it.

Similar Messages

  • Flash/java remoting question

    Hi,
    i'm new to flash remoting and am finding using it with java
    quite troublesome. I've also found using the FileReference class
    troublesome if you use java. my question is can you somehow tie the
    remoting functionality to the FileReference.upload method
    fucntionality??
    thanks in advance

    I will use the program with photo detector to test
    the response time of the LCD screenWhy Java?I second that. With a test like that, you want to reduce the experiment down to a single variable, in this case the lcd response time. Using a java program to feed the monitor input introduces a second variable, the response time of the program. The java program's timer may not be exact, the components may not be repainted completely quickly enough, etc. If this is just for your own amusement, maybe that doesn't matter, but if you want your results to have any reliability, you'll need a more accurate and controllable input source.

  • Can I post here(Acrobat Windows) Java Script questions here?

    Hello
    Can I post here(Acrobat Windows) Java Script questions here? If not, wht is the correct forum?
    THank you

    Back up and down to Acrobat Scripting. Bot Windows and MacIntosh Acrobat versions use the same JavaScript.
    If you are using LIVECYCLE DESIGNER use their forums. The JavaScript syntax and objects are different in LIVECYCLE DESIGNER!

  • Plzzz write prog to this simple java threads question

    Write a program in C to create four processes. The original processes creates
    two children before it prints out "PARENT". The children processes print
    "CHILD1" and "CHILD2" respectively. The first child process creates a child
    process that prints out "GRANDCHILD".
    Note: The output must be guaranteed to print out in the following order each
    time it is executed:
    GRANDCHILD
    CHILD2
    CHILD1
    PARENT
    a. Write the program using C or C++ and forks to create the children processes.
    b. Write a second program using Java and Threads for the children processes.
    The output statements for CHILD1, CHILD2 and GRANDCHILD must come from print
    statements in the run method of the thread.

    Most people here will not do your homework for you. If you post a reasonable question that shows you've made some effort, and what the results of that effort were, and provides details about what parts you're having trouble with, then somebody will probably provide guidance so that [you can complete the work.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Simple Java Coding Question

    I know this is a simple question, but I can't search for the answer to this because it involves syntax that Google and the like don't seem to search for..
    I am trying to figure out some Java code that I have found. I would like to know what:
    a[--i] and a[++j] mean.
    My first thought was that they meant to look at the position in the array one less (or more) than i (j). But that doesn't seem to be the case. A is an array of Strings, if that matters...
    Thanks for you help.

    muiajc wrote:
    I know this is a simple question, but I can't search for the answer to this because it involves syntax that Google and the like don't seem to search for..
    I am trying to figure out some Java code that I have found. I would like to know what:
    a[--i] and a[++j] mean.
    It mean increase/decrease the int i/j by 1. This is done before it gets you the value of a[]. for example if i=5 and you said a[--i] it is really a[4] and i is now equal to 4;

  • Simple Java EJB question.

    When it comes to EJB v3 Remote and Local interfaces,
    (With JBoss EJB Container Software in mind, for this question,)
    -Does the Remote interface for the EJB include method signatures from the Bean class
    -that are to be seen
    -that are to be hidden?
    -Does the Local interface for the EJB include method signatures from the Bean class
    -that are to be seen
    -that are to be hidden?
    Which is which for
    -EJB 2.1 ?
    -EJB 3.x ?
    - is EJB 3.x reverse compatible in that it allows use of the javax.ejb.* interfaces,
    and would accept a EJB 2.1 approach, or does it force one to use Annotations
    exclusively?
    Edited by: Zac1234 on Jul 21, 2010 5:21 PM

    muiajc wrote:
    I know this is a simple question, but I can't search for the answer to this because it involves syntax that Google and the like don't seem to search for..
    I am trying to figure out some Java code that I have found. I would like to know what:
    a[--i] and a[++j] mean.
    It mean increase/decrease the int i/j by 1. This is done before it gets you the value of a[]. for example if i=5 and you said a[--i] it is really a[4] and i is now equal to 4;

  • Simple Java Sound Question...

    Can I draw waveforms while capturing data? If yes, how. If no, why.
    Thanks. I need the answer ASAP, please help.

    Hi nfactorial,
    Can I draw waveforms while capturing data?If you would like to do that in Java you would need to know about how to use the Java language in general and especially about the Java Sound and Java2D APIs.
    If yes, how.It would be too much to explain to answer such a general question. A general answer is, you need to use the Java Sound API to capture the data for which a waveform should be drawn. The Sound API delivers data as a stream of bytes typically encoded in pulse coded modulation (PCM) format. The data stream has digital samples each representing a level of sound pressure for a certain point in time. The stream of samples in the amplitude/time domain need to be transformed to a spectrum of samples in the amplitude/frequency domain, i.e. a number of PCM samples need to be mapped to the frequencies that should be displayed. This is done with the fast fourier transformation algorithm. Each set of amplitude/frequency values can then be displayed as a waveform by using some line drawing logic. The entire process would need to run constantly, i.e. as bytes are received from the sound data stream transformation and drawing is triggered.
    Related readings:
    Java Tutorial
    http://java.sun.com/docs/books/tutorial/
    Java Sound Documentation
    http://java.sun.com/j2se/1.5.0/docs/guide/sound/index.html
    Java Sound API Programmer's Guide
    http://java.sun.com/j2se/1.5.0/docs/guide/sound/programmer_guide/contents.html
    Java Sound Resources
    http.//www.jsresources.org
    Java 2D Graphics Tutorial
    http://java.sun.com/docs/books/tutorial/2d/index.html
    Wikipedia on fast fourier transformation
    http://en.wikipedia.org/wiki/Fast_fourier_transform
    HTH
    Ulrich

  • Simple java pgm - question

    Hallo,
    to the following pgm I had question:
    static void printPrimes (int max) (= wavy bracket;
    boolean(should be angular brackets) sieve = new booolean (angular br max+1
    angular br)
    int i,j;
    for (i=2; i = max;i++)sieve(angluarbr i angular br)= true
    i= 2
    while (i= <= max;) (=wavy bracket Out.println (i+ " "); // is prime
    for (j=i; j <= j+i) sieve(angular br j angularb.) = false;
    while (i <= maxAmpersandAmpersand !sieve (angular br angular br)I++;
    ) wavy br ) wavy br.
    I hope this is still kind of readable.
    Q's are:
    after the first "for" there is a new i=2, which seems to staty at 2 all the time; the following while does not change this value ( the beginning for i++ does not change this) and so seems to print 2 at all times (??)
    then the inner loop seems to count up all the doubbles of the new prime number and thrwoes it out as false at the end of it;
    the i values (increased with i++ seemsto refere at all times to the unit numbers and only indirect to the un it values, which are written/ assigned to it (??)
    I seem to wonder how the pgm can print out anythings else the 2's.
    I would appreciate any help to that.
    ml
    griz

    I hope this is still kind of readable.No, it's not. http://forum.java.sun.com/help.jspa?sec=formatting
    Why are you omitting the braces and brackets? And why don't you type "program"? Aren't we worth the additional time it takes?
    Q's are:
    after the first "for" there is a new i=2, which
    seems to staty at 2 all the time; the following
    while does not change this value Why should it? You don't tell it to.
    ( the beginning for
    i++ does not change this)It does. It just gets re-set to 2 after the for loop-
    and so seems to print 2 at
    all times (??)Yeah. What else?
    then the inner loop seems to count up all the
    doubbles of the new prime number and thrwoes it out
    as false at the end of it; That part is definitely unreadable.

  • Importing Java Class Question

    Hello,
    Sorry for such a newbie question and such a long post, I did remember how to do this before but now I can't for the life of me remember. Anyhow, I have a simple question about importing custom-made java classes, from another directory in the windows operating system. I have the classpath set, and also I realize that because the two files below are in the same directory theres no need for an import statement as Java will look for the class in the same directory.
    But I would like to know how the import statement is suppose to look to import a custom made java class from another directory, (assuming of course that I set the correct classpath)
    here's the java class location:
    c:\school\csc365\narcus.java
    //narcus.java
    import java.io.*;
    class narcus implements Comparable
    String firstName = "firstName";
    String lastName = "lastName";
         public narcus()
         firstName = firstName;
         lastName = lastName;
         public narcus(String f)
         firstName = f;
         lastName = lastName;
         public narcus(String f, String l)
         firstName = f;
         lastName = l;
    public String getFirst()
    return "first..";
         public int compareTo(Object e)
         return 1;
    Here's the location of the driver program thats suppose to use the narcus.java class
    c:\school\csc365\test.java
    //test.java
    //import statement? maybe import "c:\\school\\csc365\\*"; ?
    import java.io.*;
    class test
    public static void main(String[] args)
         narcus jim = new narcus();
         System.out.println("omg\n");
         System.out.println(jim.getFirst());
    And also, here is my classpath:
    PATH=c:\school\csc365\;c:\school\
    The classpath also points to the jdk libraries and few other directories but I didn't write that above, as it probably isn't relevant.
    I've tried the following import statements.
    import "c:\\school\csc365\\narcus.java";
    import "narcus.java";
    import "c:\\school\\csc365\\*";
    But I keep getting an error that says:
    test.java:1 <identifier> expected
    Any help is appreciated!

    Hi Folks,
    I am new to this forum, heard that interesting discussions always happens on this forum so immediately registered,don't want to miss any oppurtunity to participate in discussions.
    I have pretty much basic question regarding compiling and exceuting files in different packages.I have the following directory structure
    C:\Projects\WDPROEast\Development\CommonService\Code\Java from where java files stored in different packages as follows:
    com\wdpro\commerce\common\crm\dae\nautilus\adapter directory has java files in com.wdpro.commerce.coomon.crm.dae.nautilus.adapter package.
    com\wdpro\commerce\common\dae\exception has java files with package named com.wdpro.commerce.common.dae.exception.
    com\wdpro\commerce\common\dls\exception has java files with corresponding package name.
    com\wdpro\commerce\common\dto has java files under proper package name.
    com\wdpro\commerce\common\exception has java files with appropriate package name.
    com\wdpro\commerce\common\util has java files with package name. I am starting at Java Directory,want to compile and run file named a.java in com.wdpro.commerce.coomon.crm.dae.nautilus.adapter package with having all other java files on classpath as follows
    so I issued command for compilation as follows C:\Projects\WDPROEast\Development\CommonService\Code\Java>javac com/wdpro/commerce/common/crm/dae/nautilus/ada
    pter/a.java com/wdpro/commerce/common/crm/dae/nautilus/adapter/NautilusServiceUtility.java com/wdp
    ro/commerce/common/crm/dae/nautilus/adapter/URLReader.java com/wdpro/commerce/common/crm/dae/nautilus/adapter/
    b.java com/wdpro/commerce/common/dae/exception/*.java com/wdpro/commerce/common/dto/*.java
    com/wdpro/commerce/common/exception/*.java com/wdpro/commerce/common/util/*.java com/wdpro/commerce/common/dl
    s/exception/*.java It compiled greatly but when I issue command to run a.class file as
    C:\Projects\WDPROEast\Development\CommonService\Code\Java>java com/wdpro/commerce/common/crm/dae/nautilus/adap
    ter/UtilityAccesssit's giving following exception
    Exception in thread "main" java.lang.NoClassDefFoundError: com/wdpro/commerce/common/crm/dae/nautilus/adapter/
    UtilityAccesssbut when I run a.java with the following command
    C:\Projects\WDPROEast\Development\CommonService\Code\Java>java com/wdpro/commerce/common/crm/dae/nautilus/adap
    ter/UtilityAccess com/wdpro/commerce/common/crm/dae/nautilus/adapter/NautilusServiceUtility.java com/wdpro/com
    merce/common/crm/dae/nautilus/adapter/URLReader.java com/wdpro/commerce/common/crm/dae/nautilus/adapter/Nautil
    usAccessUtility.java com/wdpro/commerce/common/dae/exception/*.java com/wdpro/commerce/common/dto/*.java com/w
    dpro/commerce/common/exception/*.java com/wdpro/commerce/common/util/*.java com/wdpro/commerce/common/dls/exce
    ption/*.javaSo my question do I need to add all required java files to path when required class files are under different packages?is it manadatory.
    I hope you understand my question,pass me any comments you may have.
    Thanks alot,
    Anu

  • Java Programming Question

    Hi,Everybody:
    I have a question about Java programming. If I want to write a java class code called if.java like below, how should I do to make it pass the java compiler and make it work. I know the words "if" and "for" are reserved words. I just try to figure it out that is it possible??? Do I need to create my own java compiler or recompiler?
    public class if
    public if() { }
    public static for test()
    return new for();
    public class for
    public for() { System.out.println("for class constructor"); }
    }

    I don't think you can bypass the compiler's rejection of this. There is little point to naming the classes after keywords. Not sure if it's case sensitive though, so maybe "If" or "For"? Otherwise, try "if_" or "for_"

  • Java Interview questions!!!!!!!!!!!!

    Hi folks,
    I had an interview with a small company a few days ago.
    Below is a list of the questions that they asked me.
    Some of these are not familiar to me at all.
    Does anyone have the answer for these?
    (1) Draw UML diagrams that express the following concepts:
    (a) Class C and class B are subclasses of class A.
    (b) Class P has two private fields int x and int y and one
    public method setXY(int x1, int y1)
    (c) bob is and object of class Bob.
    (d) Class A objects contain one or more objects of class B.
    (e) Interface A is implemented by class B and class C.
    (2) Define the following computer science terms:
    (a) Primitive type
    (b) type conversion
    (c) narrowing / widening a type.
    (d) reference type
    (e) type casting
    (3) (a) Give an example of variable shadowing.
    (b) (2pts) Explain the difference between method hiding and
    overriding methods.
    (c) Give an example of marker interface.
    (d) Suppose class A implements two interfaces C and D. Each of these
    has a method public void getRichQuick() but C's method
    throws CaughtBySECException and D's method throws
    AntitrustException. What will the compiler do?
    (4) (a) With respect to subclassing what does restriction mean?
    (b) How do we implement restriction in Java?
    (c) Suppose we have two interfaces in Java: I2 which extends
    I1. Is I2[] a subtype of Object[] ? Why or why
    not?
    (d) What is multiple inheritance?
    (e) Give a way to achieve the effect of multiple inheritance in Java.
    (5) (a) In a Java class definition what is an initialization. Give an
    example.
    (b) Give the order in which the following three things would be
    initialized when a subclass B of class A is created:
    (i) an explicit initializer in B, (ii) an explicit initializer
    in A, and (iii) an initalization statement in a constructor of A.
    (6) (a) On what methods and classes should one use /** ... */ comments?
    (b) For javadoc to detect these comments where relative to these
    methods/classes should the comment occur?
    (c) Explain how to use each of the following javadoc tags:
    (i) @since (ii) @see (iii) @param
    (7) Define the following terms with respect to their object-orientation
    meaning. Give an example of (b) and (c).
    (a) framework
    (b) idiom
    (c) design pattern
    (8) Give each of the things needed for the canonical form for public classes
    in Java.
    (9) Class A and Class B each contain identical blocks of code 30 lines long.
    Class A extends Class C and Class B extends Class D. Suggest a way to
    avoid the code duplication using factorization. What kind of
    factorization did you use?
    (10) Give the UML diagrams for the folowing design patterns:
    (a) Strategy
    (b) Iterator
    (c) Factory
    (d) Template
    (e) Singleton

    I think I can help you with a few points:
    2
    a. Primitive types are byte, short, char, int, long, float, double and boolean. They tell the compiler the type of the variable and thus how much memory needs to be set aside to store the variable in memory.
    b. Converting from one type to another which kinda links in with c. Widenening is the process of changing, for example and byte to an int (no explicit cast is needed) because a byte (8 bits) can fit into an int (32 bits).
    However the reverse is not true (obviously) so an explivit cast is needed to tell the compiler that you meant to do it (as information can be lost).
    e.g. int i = 3000;
    byte b = (byte)i;
    obviously a byte can only hold values up to 127 so converting this int to a byte changes the value. You have to look at the bits and understand a bit of binary code for this.
    This kinda answers part e. too.
    d. A reference type is a pointer to a cariable or object (I think thats what its getting at). eg int i = 32; i is a reference to the memory address where the computer stored the value 32.
    4d.e Multiple inheritance is when a subclass inherits from more than one base class. In java this is not possible (java only supports single inheritance with the extends keyword). However, java overcomes this with interfaces as a class, although it can only extends one base class, can implement as many interfaces as it likes in a comma seperated list.
    I hope this helps you on your way. The fact of the matter is, the majority of your questions can be found in any decent book on java (and UML). Also look at the java tutorial online.
    For example 1a is simply a box with two other boxes beneath with arrows pointing upwards to the base class (not downwards as would seem reasonable).
    The best way to learn all this stuff is to read it then try it yourself! That way you'll remember it much better.
    Good luck

  • Quick java udf question

    Hi sorry for this completely stupid question but the below piece of code I am trying to dissect and understand.
    I understand the first line I am creating a new global container but the second line I am not so sure what the (integer) would be for. Is this meant to be a variable or a return type? What could that possibly be for I mean a type in parenthesis after the equals sign.
    GlobalContainer gc = container.getContainer();
    Integer counter = (Integer) gc.getParameter("counter");
    Thank you for your help.

    GlobalContainer is a container object stores values and can be retrieved by UDF during runtime. This GlobalContainer stores values and can be accessed by any UDF in the same namespace. This is similar to class variable or static variable of java class.
    In your case, It has a parameter which is set as ("counter", Integer) . Basically it is a key value pair and very similar to Hashtable in java.
    Example
    setParameter(String  str , Object  Integer);
    >What could that possibly be for I mean a type in parenthesis after the equals sign.
    typecast to integer in paranthesis, because we store the value here as Integer object.
    Integer counter = (Integer) gc.getParameter("counter");
    expecting  return type is Integer.
    Also refer this [link |global container;for further refereence

  • Java certification question

    I have learning material for two modules:
    (a) Sun Java 2 Developer SCJD CX-310-252A/CX-310-027, and
    (b) Java 2 5.0 Programmer Certification 310-055.
    I know that these kind of exams were organized by the Sun Microsystems, Inc., which was bought by Oracle in 2010. So my questions are:
    1. What are the exact names and numbers for the two exams above, that Oracle gave them? On the Oracle website
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=42&p_org_id=28&lang=US
    I was only able to find the available Java exams starting with "1Z0" or "1Z1".
    2. Are the old (Sun) and new (Oracle) exams exactly the same, i.e., is the material that I have is sufficient to pass the new exams?
    Thank you in advance.

    Thanks for a reply!
    So, if I wanted to book exams, what are Oracle equivalents of those two modules? Searching in the list of available exams, it looks like
    (a) for Sun Java 2 Developer SCJD CX-310-252A/CX-310-027 -
    Java Standard Edition 6 Developer Certified Master Assignment (Step 1 of 2) 1Z0-855
    and Java Standard Edition 6 Developer Certified Master Essay Exam (Step 2 of 2) 1Z0-856
    (b) and for Java 2 5.0 Programmer Certification 310-055 -
    Java Standard Edition 5 Programmer Certified Professional Exam 1Z0-853.
    Is that correct?
    Also, can it be, that passing an exam is not enough to get a certification? From what I understand from searching, it is also necessary to attend an "instructor-led in-class" course, which cost around £1500 - is it true? Thanks.

  • AM Client java file question.

    Hello,
    I am learning OAF, when configured an AM to expose methods by Client Interface, a java file is created under /client, a reference is also made in the AM.xml:
      ComponentClass="...server.PeRatingAMImpl"
       ComponentInterface="...server.common.PeRatingAM"
       ClientProxyName="...server.client.PeRatingAMClient"The questions:
    1. Do I have any use for ClientProxyName java file or it is there to serve as adapter/glue code between my interface (AM.java and AMImpl.java?
    (Depends on answer to Q1)
    2. I'm suppose to use in my controller the AM.java, or the generated AMClient?
    Thanks in advance.

    What you will do in your controller is get a reference to the AM via the pageContext object.
    Like this:
    OAApplicationModule am=(OAApplicationModule)pageContext.getRootApplicationModule();
    Use the am ref to call methods in the am.
    Kristofer Cruz

  • Java List question

    Dear all,
    My development tool is JDev. 10.1.3.
    I've a session bean which the list contains several fields. The list defined like this:
    List<cell> List1 = new ArrayList(); cell in a cell.java.
    I created List2, List<cell> List2 = new ArrayList(); which the list contents are copied from List1.
    On the jspx, List1 is on the left hand side, it rendered out as a table, user can select the row and click the button "Add item to List2". On the right hand side, List2 allows user input information. User can choose List1 item to List2 repeatly.
    The question is, e.g. List1 and List2 contain A and B items initially. User inputted information in List2 for A item. And then, choose A item from List1 to List2 again. The new selected item carried the information that user input in List2 before.... I don't know why?
    Then, I modified the List2 like this: List<dupcell> List2 = new ArrayList(); and hope the information will not be carried.
    However, it doesn't work..
    Can anyone help me? Please.
    Thanks for any suggeston!
    Regards.

    Sorry, my English is not good...
    my situation like this:
    "List1" defined in a session bean, "shoppingCart.java", like this:
    List<cell> List1 = new ArrayList();
    In the cell.java code, like this:
    public class cell {
    private String id;
    private String type;
    private Number quantity;
    private String remarks;
    public cell() {}
    public cell(Number id) {
    this.Id = id;
    /** defined getter and setter **/
    In a JSF page1, user selected the id and id will be stored in the session bean. e.g. user selected id "A" and "B".
    Then, user click a button and go to JSF page2.
    This button call a function, the List1 copy to List2, like this:
    public String copy_to_new(){
    List2.addAll(Utils.getShoppingCart().getList1());
    return "page2"; //go to JSF page2
    Two lists were created.
    List1 - user select item, move the item to List2.
    List2 - user input the information: type, quantity and remarks. e.g. user inputted information for id "A": type = "small", quantity = 1, remarks = "urgent".
    Now, user click id "A" from List1 to List2.
    On List2, it shows:
    Id Type Quantity Remarks
    A small 1 urgent
    B
    A small 1 urgent <-- new selected row (I don't want this)
    Question: How can I create a new row that it does not carry the previous information, like this:
    Id Type Quantity Remarks
    A small 1 urgent
    B
    A <-- new selected row
    Thank you very much for any helps!!
    Regards.

Maybe you are looking for