The compiler won't let me declare more than one class as "public". Am i correct in understanding that this is a java restriction ? This means i need to create a new file, for each public class that i want in a package ? The rest of the classes without access modifier will all be package-private. (Q has been asked before probably, but my search could not be narrowed).
I have a question about the following snippet concerning the steps the javac compiler follows to compile a program:
[...]at first, searching a class within a package is discussed if the latter doesn't contain a full package name[...]
It is a compile-time error if more than one class is found. (Classes must be unique, so the order of the import statements doesn't matter.)
The compiler goes one step further. It looks at the source files to see if the source is newer than the class file. If so, the source file is recompiled automatically. Recall that you can import only public classes from other packages. A source file can only contain one public class, and the names of the file and the public class must match. Therefore, the compiler can easily locate source files for public classes.
However, you can import nonpublic classes from the current package. These classes may be defined in source files with different names. If you import a class from the current package, the compiler searches all source files of the current package to see which one defines the class. I don't quite understand the red fragment. I wondered if the word "import" nonpublic classes from the current package weren't a synonym for the word "use", since why would we want to import a class from the same package when compiler searches the current package automatically anyway?
However I wanted to test nonpublic classes that are contained in source file which name doesn't match the class name:
NonpublicClass.java:
Java Code:
package com.work.company; class NonpublicClass { public void description() { System.out.println("Working!"); } } mh_sh_highlight_all('java');
[Code] ....
Everything's fine when the source file names are the same as above. However, when I change NonpublicClass.java to a different name, there's an error "cannot find symbol" in:
Java Code: NonpublicClass v = new NonpublicClass(); mh_sh_highlight_all('java');
I noticed that the class file for NonpublicClass isn't even generated so that's probably the cause. If I change to the directory of the package the NonpublicClass is contained in and compile it directly, i.e. issue for example:
I was doing coding exercise from a book ('OCP Java SE 6 - Practice Exams' by Kathy Sierra and Bert Bates). I came to a question that told to demonstrate the difference between 'default' and 'protected' access rules by creating/making a directory structure and putting a couple of classes in different packages.
For this, I made a total of four classes, out of which, three classes are-Car, TestingCars, CarDimensions. (The fourth is not yet used in testing code till now, so, I am giving only the other three classes.) Their coding is given below.
Out of these classes, the classes- TestingCars and Car - are in a directory (say, FolderName). And, the class- CarDimensions is in FolderName's sub-folder.
The class 'CarDimensions' is public (and its components too are public). And, I am testing all the classes from the class- 'TestingCars'. But, this class (TestingCars) is not able to find the public class- 'CarDimensions' which is in its sub-folder and gives two 'Cannot find symbol' errors citing the class-CarDimensions. Also, If all three classes are put in one single directory, the programs work, without any error.
Coding: Class TestingCars:class TestingCars { public static void main(String[] args) { Car c = new Car(); c.setType("FourWheeler");
[Code]....
I could not find why the public class- CarDimensions- is not getting found by the TestingCars class.
Why can't I access a method from another class? For example, I want to get the value of get method from another class. It's giving me an error on if(getExamType() == 'M') That's what I've done, for example:
Java Code:
public static Exam[] collateExams(Exam[] exams){ Exam [] r = new Exam[50]; r = exams; Exam [] finalExam = new Exam[50]; for(int i = 0; i < r.length; i++) { if(getExamType() == 'M') { } } return r; mh_sh_highlight_all('java');
If i have a class(lets say class name is Approval) with the following private members: String recip_id, Int accStat, String pDesc, String startDate How can i create public get and setter methods for these private members of the class?
R2 (x,y) -- Make the Point class code that implements a corresponding abstraction to a given point in R2. You should explicitly provide the manufacturer's code P (double x, double y) for the Point class. And code for the methods, whose definitions are:
- public double getXCoordinate (); - public double getYCoordinate (); - public setXYCoordinates (double x, double y); - public moveTo (double x, double y); - public printAtts ();
I want to make a program in which i write the Months Strings via while into the checkbox.
I already did that but i have also to add an day if February is a loop day.
So my question is how to say java that if Months is equal to February & year is a leap year, add 1. (i didn't wrote the year code because it's not relevant for my problem.)
Java Code:
public String[] Months ={"January","February","March","April","May", "June", "July", "August", "September", "Oktober", "November", "December"}; public Asg1KeapYear() { initComponents(); int MonthNo = 0;
[Code] ....
Netbeans shows me .equals() on incompatible types on Months.equals, do i have to declare it somehow?
Is it possible to create a JInternalFrame class with additional public functions that can be called from the desktop? Here is some snippets of the code. This is the Internal Frame with the public functions added after the constructor.
public class Search_Ifr extends javax.swing.JInternalFrame { /** * Creates new form Search_Ifr */ public Search_Ifr() { initComponents();
[code].....
The line " ifrSearch.setTabPaneIndex("tabCust");" is throwing a compile error that the method is not found.
I have several different PopupWindows that i want to access from the same fragment. I would like for each PopupWindow to be it's own java file. Here is trimmed down code from an example showPopup.java file,
showPopup.java public class showPopup { //public class showPopup extends Activity implements View.OnClickListener{ //public class showPopup extends Window { public static Context appContext; PopupWindow popupWindow; SQLiteDatabase db; EditText edSpeciesLookup,edSpeciesLookupRowid;
[code]...
How do I configure inheritance to allow showPopup() class to reside in it's own Java file and be called from another class (file)? I've reviewed several hours of online resources as well as my reference books with no productive illumination. I've tried a number of possible implementations and extensions such as "public class showPopup extends Activity implements View.OnClickListener{...", and "public class showPopup extends Window.
Now, I would like to properly stop the server. For that, I can do server.stop(); . However, this does not work since the object server is not public, it is contained within the public pc_proxy class.How do I do that?
I've got a problem in Eclipse. The below code is a part of my program, used for (re)starting a new game. The 'public static int' statement gives the error 'This method must return a result of type int'..
public static int playAgain(){ boolean validInput = false; do { System.out.println("Would you like to play a game? Please answer 'yes' or 'no'."); String playAgain = input.next();
I'm working on this program for a class to create objects of a commissioned employee and union employee. Everything seems to work ok, but when I run my final pay calculation, one of my getter functions will not pass the variable for the pay into a class specific variable called check. here is the code in this function.
When I run, this function works as it returns the value when i print it to test.
however, when I do the part that says check = getWeekPay() above, it doesn't change the check variable. The only thing I have on the check variable is the dues taken out of it at the end, so it ends up being a negative number.
I have a similar problem with the other derived class's check variable. Both classes have the same variable as private but one is check the other checkC.
I am doing an assignment for a college class. We are asked to get user input and decide if it is a valid IP address and then check what class the address is and if it is a public or private address.
So far, I can get the input, and check to see if the numbers are in a valid range. I can also display the IP address to the user. I am having an issue figuring out how to get the program to check the classes and whether they are public or private.
import javax.swing.JOptionPane; /** This program will take user input and calculate whether it is a valid IP address and the class that it belongs to. */
public class shortONE_1 { public static void main(String[] args) { //Variables final int MIN_OC = 1; //Minimum number accepted final int MAX_OC = 255; //Maximum number accepted final int MIN_A = 1; //Min number for class A final int MAX_A = 127; //Max number for class A
1.) Is FileReader class the same as File Class. In my book it uses File class to read data from a file, but one of the members here used FileReader so I was wanting to know if it's identical function or not.
2.) When creating an output file, I will use
PrintWriter outputfile("hello.txt")
i just read a new topic of " appending data to a file," meaning if I want to preserve the old file I would have to use this. From my understanding all this does is prevents the old data from being deleted.
Now, in my code if I type ( "hello.txt",true)this would preserve the old data?
I've got a CDI bean which is a facade for a JPA entity. Such entity has got a many to one relationship with itself and I've got the following method:
public Set<Account> getChildren() { return this.children; }
which is called in a JSF/Facelets page:
<h:commandLink action="#{accountController.destroy}" value="#{bundle.ListAccountDestroyLink}" rendered="#{item.children.size() == 0}"/>I then decided to return an unmodifiable set and changed getChildren() accordingly: public Set<Account> getChildren() { return Collections.unmodifiableSet(children); }
The page now reports this error:
java.lang.IllegalAccessException: Class javax.el.BeanELResolver can not access a member of class java.util.Collections$UnmodifiableCollection with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65) at java.lang.reflect.Method.invoke(Method.java:588)
[Code] ....
javax.el.BeanELResolver is incorrectly failing because it's trying to invoke the size() method using reflection without correctly taking into account the method visibility (which is indeed invokable programmatically). I'm running NetBeans 6.8, Glassfish 3.0 and jdk1.6.0_17.
If the user enters the command line shown above, how many elements are contained in the array which is passed to "public static void main(String args[])" in TestCommandLine?
Choice 1 Four Choice 2 Five Choice 3 Six Choice 4 Seven Choice 5 Nine