Accessing class constants

Hi
I'm trying to construct a class called Continent
public Continent{
     String continentName;
     //  some other variables etc etc
     public Continent (String conName){
            this.continentName = conName;
     //  Class CONSTANT declaration
     public static final Continent
            ASIA = new Continent ("Asia"),
            EUROPE = new Continent ("Europe"),
            AMERICA = new Continent ("America")
            // etc etc
}then I construct a class called Country
public Country {
      String countryName;
      Continent continent;
      //  some other variable
     public Country (String name, Continent c){
          this.countryName = name;
          this.continent = c;
     public static void main(String[] Args){
          Country c = new Country ("Wales", Continent.EUROPE);
          System.out.println (c.countryName + " exists in "
                                    + c.continent);
}What I expected to be output was something like:
Wales exists in Europe
but what actually was output was
Wales exists in Asia
?!!?? What's this all about please. Why doesn't my code work properly
TIA

Well, it looks as though you might have overlooked something between your compiling, editing and running because I copied your code and it worked fine after I made several changes to it.
First, in the code as it is posted, you're missing the class declarations for both Continent and Country. That will result in compilation errors.
Second, by printing out c.continent in the Country source, you will see the object identification of the continent instance and not the String name for it. I added a getName( ) method in Continent to take care of that. Your code with the modifications is pasted below.
public class Continent {
     // Class CONSTANT declaration
     public static final Continent ASIA = new Continent ("Asia"),EUROPE = new Continent ("Europe"), AMERICA = new Continent ("America");
     String continentName;
     public Continent (String conName) {
          this.continentName = conName;
     /** Returns the String name associated
              *   with a Continent instance.
     public String getName() {
          return continentName;
public class Country {
     String countryName;
     Continent continent;
     public Country (String name, Continent c) {
          this.countryName = name;
          this.continent = c;
             public static void main(String[] Args) {
          //Country c = new Country ("Wales", Continent.EUROPE);
          //Country c = new Country ("Wales", Continent.ASIA);
                         Country c = new Country ("Wales", Continent.AMERICA);
          System.out.println (c.countryName + " exists in " + c.continent.getName());
}As shown here, you will see "Wales exists in America" for your output.
Jeff

Similar Messages

  • Accessing Runtime Constants in PCK

    Hi all
    Anybody tried accessing runtime constants such as message ID  in PCK, successfully?
    I have written a java mapping using StreamTransformationConstants class to retrieve MessageId value. The same java mapping works fine in XI, but not PCK.
    Any idea?
    Many thanks.
    YJ

    to the target  date mapping we have created a userdefined fuction fileName which is failing the error message when we  test the interface mapping is Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_XI_ERP_FI_BAPI_ACC_DOCUMENT_POST_REQ_MM_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns1:BAPI_ACC_DOCUMENT_POST/DOCUMENTHEADER/HEADER_TXT. The message is: Exception:[java.lang.NullPointerException] in class com.sap.aii.mappingtool.flib3.TextFunctions method substring[null, com.sap.aii.mappingtool.tf3.rt.Context@0000000000000]
    is this help full
    when it is succesfull the input <HEADER_TXT>Payroll for 01/2008</HEADER_TXT>
    <DOC_DATE>20080131</DOC_DATE> 
                                                    when it is failed the input is
    <HEADER_TXT>Payroll for 20/08.t</HEADER_TXT>
    <DOC_DATE>08.t20</DOC_DATE>
    thanks and regards
    sandeep
    thanks
    sandeep

  • Use reflection to access static constant

    I have a class with a static constant value. Can somebody show me to access the constant value using reflection.
    Thanks
    Regards,
    Stephen

    I have class
    public class one{
    public static final String TABLE_KEY = "something";
    to access the class
    one.class.getField(">>what to put here<<") it's static method don't hv any getter method???

  • [svn] 4492: Simplified how an accessibility class gets hooked into its corresponding component class .

    Revision: 4492
    Author: [email protected]
    Date: 2009-01-12 14:47:10 -0800 (Mon, 12 Jan 2009)
    Log Message:
    Simplified how an accessibility class gets hooked into its corresponding component class.
    We now do the hooking in the static method enableAccessibility(), which is called by code that is autogenerated by the compiler. Previously this method did nothing and the hooking happened at static initialization time. This allows us to remove the static var accessibilityHooked and the static method hookAccessibility() in each accessibility class.
    QE Notes: None
    Doc Notes: None
    Bugs: None
    Reviewer: Deepa and Alex
    Modified Paths:
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl. as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBoxAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TitleWindowAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as

    Was it really necessary to post the whole API description?!?
    Locale[] locales = Locale.ENGLISH();ENGLISH is not a method in class Locale, so do not add the braces "( );".
    Also, the constant ENGLISH is not an array, but just a single Locale object.
    You didn't say what your problem was. What do you want to achieve with your program and what is it that you don't understand?

  • ** Not able to access Runtime Constants in ABAP XSL

    Hi friends,
    We have written one ABAP XSLT program. (XSLT program runs in ABAP Engine). This program is for the interface Mapping in XI. Source Interface occurrence is 1 and target interface occurrence is 0..unbounded. ie. We use Message Split to send source messages to multiple target messages. For this we have written one ABAP XSLT program. To find Value mappings we use 'SenderService' Runtime Constant to determine Sender Service (for Source Agency) at runtime. But the problem is,  inside template the constant $SenderService did not have the value.  I have given below the coding
    <xsl:param name = 'SenderService'/>
    <xsl:template match="/">
         <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
                 <ns0:Message1>          
                  <ns1:employeeDemographicsRequest xmlns:ns1="http://aprilbiztec.com">
    <!-- here we are $SenderService did not receive the value -->
    Friends, Could you kindly help me to solve this problem ? (ie how to access Runtime Constants in ABAP XSLT when use message Split)
    Thanks in advance.
    Kind Regards
    Jeagthees P.
    Note :
    1) In normal ABAP XSLT, we are able to access Runtime Constant.
    2) For the same scenario, if we use normal XSLT ie. JAVA XSLT, we are able to access Runtime Constant.

    Hi,
    As far as I know you cannot access Runtime constants if there is a message split.
    Regards,
    Kumar

  • Cannot access class java.nio.ByteBuffer

    Hi All -
    I'm trying to compile a java sample code.
    I keep getting the error described in the subject line
    cannot access class java.nio.ByteBuffer; file java\nio\ByteBuffer.class not found
    I have un-ziped the java sdk 1.4.1 src.zip to a directory under c:\ and added the java\nio directory to the project setting and compile with jdk runtime 1.4.1 and yet get the same error....
    I've tried by redirecting to src.zip and didn't work either....
    I would appreciate your feedbacks and sorry for the lame question, consider it as a newcomer to Java world.
    thanks in advance

    You test it by running the following line....
    java java.nio.ByteBuffer
    If it says "main not found" then your problem has nothing to do with the java install nor the classpath. The code you are trying to compile is wrong.
    If it says class not found then you use this line next....
    java -version
    If this returns nothing then you are not using the Sun VM (you are using the MS one.) If it returns a version below 1.4 then your PATH statement is wrong (and you should uninstall all sun versions then reinstall.) You can fix the MS VM problem by altering the path so the java path is first.
    If it does say 1.4 then you need to uninstall and reinstall because something is messed up.

  • Unable to access classes in third party jar files packaged with my ejb.jar

    I have packaged some third party jar files in my xxx_ejb.jar file.  The third party jar file contains classes that are accessed by some custom classes which are in turn accessed by my bean classes.  I get the following error when my custom classes attempt to use any of the classes in one of the third party jar files:
    java.lang.NoClassDefFoundError: com/Ostermiller/util/CSVParser
    Shouldn't I be able to access classes in jar files that are packaged with my xxx_ejb.jar file?  I see the xxx_ejb.jar file as a resource of the application classloader that contains it but I don't see the third party jar files.

    As per the Java EE specification, additional JAR files should be packaged on the EAR level. Only WAR files' WEB-INF/lib folder is scanned for JAR files to be added to the classloader.

  • PDK 9.0.4 Error: cannot access class oracle.security.jazn.realm.RealmUser

    Dear Forum,
    we are developing portlets for Portal 3.0.9.8. We use the default JPDK version, that comes with the standalone Oracle OC4J 9.0.4 bundled with PDK.
    We want to improve our portlet by check the userid of the portal user. Therefore, we want to use oracle.portal.provider.v2.ProviderUser.getUser().getName()
    in a JSP.
    First - even before the method call - we included
    <%@ page import="oracle.portal.provider.v2.http.ServletProviderUser" %>
    But even this 1 statement gives in JDeveloper 9.0.4 with the libs pdkjava and ptlshare from the OC4J the following error:
    Error: cannot access class oracle.security.jazn.realm.RealmUser; file oracle\security\jazn\realm\RealmUser.class not found
    What is wrong here? What missing library we must include?
    Thank You in advance

    Problem solved. Need to include jazn.jar in project's lib-paths.

  • Urgent: how to really seperate business logic class from data access class

    Hello,
    I've this problem here on my hand and i really need help urgently. so please allow me to thank anyone who replies to this thread =)
    Before i go any futhur, let me present a scenario. this will help make my question clearer.
    "A user choose to view his account information"
    here, i've attempted to do the following. i've tried to seperate my application into 3 layers, the GUI layer, the business logic layer, and the data access layer.
    classically, the GUI layer only knows which object it should invoke, for example in the case above, the GUI would instantiate an Account object and prob the displayAcctInfo method of the Account object.
    here is how my Account class looks like:
    public class Account
    private acctNo;
    private userid;
    private password;
    private Customer acctOwner;
    the way this class is being modelled is that there is a handle to a customer object.
    that being the case, when i want to retrieve back account information, how do i go about retrieveing the information on the customer? should my data access class have knowledge on how the customer is being programmed? ie setName, getName, setAge, getAge all these methods etc? if not, how do i restore the state of the Customer object nested inside?
    is there a better way to archieve the solution to my problem above? i would appriciate it for any help rendered =)
    Yours sincerely,
    Javier

    public class AccountThat looks like a business layer object to me.
    In a large application the GUI probably shouldn't ever touch business objects. It makes requests to the business layer for specific information. For example you might have a class called CustomerAccountSummary - the data for that might come entirely from the Account object or it might come from Account and Customer.
    When the GUI requests information it receives it as a 'primitive' - which is a class that has no behaviour (methods), just data. This keeps the interface between the GUI and business layer simple and makes it easier to maintain.
    When using a primitive there are four operations: query, create, update and delete.
    For a query the gui sets only the attributes in the primitive that will be specifically queried for (or a specialized primitive can be created for this.) The result of a query is either a single primitive or a collection of primitives. Each primitive will have all the attributes defined.
    For a create all of the attributes are set. The gui calls a method and passes the primtive.
    For an update, usually all fields are defined although this can vary. The gui calls a method and passes the primitive.
    For a delete, only the 'key' fields are set (more can be but they are not used.) The gui calls a method and passes the primitive.
    Also keep in mind that a clean seperation is always an idealization. For example verify that duplicate records are not created is a business logic requirement (the database doesn't care.) However, it is much easier and more efficient to handle that rule in the database rather than in the business layer.

  • Cannot access class oracle.sql.BLOB;

    Hi,
    I am trying to save a .tif file into Oracle database. When I run the program in JDeveloper I get the following errors:
    Error(9,19): cannot access class oracle.sql.BLOB; file oracle\sql\BLOB.class not found
    Error(59,29): class BLOB not found in class mypackage1.ImageUpload
    package mypackage1;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.sql.*;
    import java.util.Properties;
    import oracle.sql.BLOB;
    Blob imgblob = rs.getBlob(1);
    OutputStream blobos = ((BLOB) imgblob).getBinaryOutputStream();
    ...................Any help is appreciated. Thanks

    What package do I need to include in my classpath for
    this. ThanksWhy don't you inspect your JAR files? Do you have WinZip? Open them with it and find the class.

  • How to create a model access class ???

    HI,
          Can somebody tell me how to create a Model Access Class. In the Application Set, i can find the Model Access folder, but it has a list of application sets which is already created and the system asks to select a Application set. I need to create a new application set. Please help.
    Regards,
    Shiny

    Hi Shiny,
    I would suggest you not to create a new application set.
    If you are enhancing a standard PCUI application, i would suggest you to create new model access classes and assign them to the same application set which is assigned with the standard model access class for that application.
    Creating a model access class can be done through the transaction SE24(like any other Z-class).
    Go to transaction CRMC_BLUEPRINT_C and you could assign this newly created Model access class to the standard application set. This can be done under Application Element->Application Set->MOdel Access Class.
    If you still feel the need to create a new application set altogether, it can be done from Trx CRMC_BLUEPRINT_C->Layout of PCUI-> Application Element->Application set.
    I hope it helps.
    Cheers,
    Gyan.

  • How do I access classes and methods defined in a wsdl file

    I have been provided a wsdl file I need to find out how do I access classes and methods defined in a wsdl file directly instead of doing a wsdl2java...

    Several comments :
    1- is there any reason to have blank chars inserted after the path ? Seems that you already have a problem there. If possible, try to solve the problem at the source
    2- the end of line char is usually CR (Carriage Return, aka ASCII char 13 = $0D = Control-D). But LF (Line Feed = 10 = $0A = control-A) is also used (platform dependent). In LV, you can use the "Concatenate strings" function to add/insert control chars (found in the String Control Palette). However, this will not solve your problem of unwanted added blank chars at the end of your string.
    3- you can use the Trim white space.vi (in the "Additionnal string functions" sub-palette) to remove ALL the spaces in your string
    4- you can build your own "end space remover" function. :
    reverse the string, wire to a "Match pattern" function, use " +" (space + "+") to search for any number of spaces, reverse again the "after substring".
    5- there is no point 5 :-)
    You may find interesting description of ASCII chars here
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • Access Class in Default Package

    Make long story short, I have to have some class in the "(default package)", related to JNI, and I will need to pass data back and forth from and to these classes from some packaged classes. I am using Java 1.4. As I know since Java 1.4, it's not possible to access classes in default package from packaged classes directly. Is there a work around? please help...

    I DON'T have the C/C++ codeSo you have to do with the "old" classes in the default package.
    Then use jschell's suggestion to devise proxying code that allow bridging between the packages.
    since Java 1.4, I can't call the java class in the default package from packaged class any moreIf I understand jschell's post, this restriction is enforced by the Java compiler , not by the Java interpreter (JVM). Indeed this is specified in the JLS (Java Language Specifications, http://java.sun.com/docs/books/jls/third_edition/html/packages.html#7.5), not the JVM specifications (I have not verified that latter point).
    So if you get an older JDK (before 1.4 they would accept the construct), you can try writing proxy classes within a named package, proxying to the old classes in the unnamed package. Once they are compiled, and jarred together for convenience, you can switch back to the current compiler (let's says 1.6) to compile the rest of your application classes, which only use the classes in the named package, using the jar as a library.
    When executing the program, the JVM will execute everything without complaining, since it supports execution of compiled code that has been compiled with former versions.

  • Cannot access class javax.naming.Referenceable;

    Hi
    I am trying to create a connection pool and using the oracle.jdbc.pool.* in JavaBeans using JDeveloper 3.1.
    I am getting the following error.Unable to find the reason for this and the sun documentation says - no usage for this class.
    Error:
    cannot access class javax.naming.Referenceable; file javax/naming/Referenceable.class not found.
    Any help is greatly appreciated..
    thanks
    Yugandhar
    null

    You need to make sure $ORACLE_HOME/jdbc/lib/jndi.zip is on your classpath for this to work.

  • Error: cannot access class oracle.security.jazn.realm.RealmUser

    Hi,
    I try to compile this simple jsp, which use jpdkv2, with jdeveloper 9i.
    But I obtain this error:
    Error: cannot access class oracle.security.jazn.realm.RealmUser; file oracle\security\jazn\realm\RealmUser.class not found
    Someone has an idea ?
    Source code of my jsp:
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@page import = "oracle.portal.provider.v2.render.PortletRenderRequest" %>
    <%@page import = "oracle.portal.provider.v2.http.HttpCommonConstants" %>
    <%
    PortletRenderRequest portletRequest = (PortletRenderRequest)
    request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
    %>
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
    <TITLE>
    Hello World
    </TITLE>
    </HEAD>
    <BODY>
    <H2>
    The current time is:
    </H2>
    <P>
    <% out.println((new java.util.Date()).toString()); %>
    </P>
    <P>Hello: <%= portletRequest.getUser().getName() %></P>
    </BODY>
    </HTML>

    Please check if jazn.jar is available under your <YOUR_OC4J_PATH>\j2ee\home folder.
    This library files contains all the security related classes required by jpdkv2 providers.

Maybe you are looking for

  • Unable to switch/open/close apps, shutdown or backup - HELP

    Hi guys, I'm not so much of a newbie, but I'm kind of lost here and I need your help. I'm working on a MacBook Pro with Leopard. *Weird Behavior:* - I cannot open applications (no response when clicking on dock's icons). - I cannot close applications

  • Can we connect a hsdpa usb modem to an iPhone?

    Hello everybody, my question is: Can we connect a hsdpa usb modem to an iPhone? Thank you

  • Metadata Templates

    Is there any way to copy an existing metadata template and then edit it? For instance, I create a template to use on import for my 2006 images and I want to copy it to another template and then edit it for 2007 copyright info. I don't seem to be able

  • Deployment: Metadata Cache Invalidation for Adaptive RFC Models

    Dear SDN Member, I have deployed the new "Cache Invalidation" Tool at our portal NW04s SPS12. We have deployed the tool by using the sdm. https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df The ent

  • Cannot view oracle form on the browser... pls help...!

    hi guys.. am new to oracle forms.. ma prob is that i've created 4 oracle forms using oracle 9i and i can perfectly run and view 3 forms. but when i compile and run the other form it does not display on the browser window. it displays just the java ap