Primitive arguments, such as an int or a double, are passed into methods by value. This means that any changes to the values of the parameters exist only within the scope of the method. When the method returns, the parameters are gone and any changes to them are lost.
Reference data type parameters, such as objects, are also passed into methods by value. This means that when the method returns, the passed-in reference still references the same object as before. However, the values of the object's fields can be changed in the method, if they have the proper access level.For example, consider a method in an arbitrary class that moves Circle objects:
public void moveCircle(Circle circle, int deltaX, int deltaY) {
// code to move origin of
// circle to x+deltaX, y+deltaY
circle.setX(circle.getX() + deltaX);
circle.setY(circle.getY() + deltaY);
// code to assign a new
// reference to circle
circle = new Circle(0, 0);
}
Let the method be invoked with these arguments: moveCircle(myCircle, 23, 56)
Inside the method, circle initially refers to myCircle. The method changes the x and y coordinates of the object that circle references (i.e., myCircle) by 23 and 56, respectively. These changes will persist when the method returns. Then circle is assigned a reference to a new Circle object with x = y = 0. This reassignment has no permanence, however, because the reference was passed in by value and cannot change. Within the method, the object pointed to by circle has changed, but, when the method returns, myCircle still references the same Circle object as before the method was called.
I am totally new to Java. What is the purpose of this method?
Flow of the int x=3; like where does the 3 go step by step?
Passing Primitive Data Type Arguments (from oracle java tutorials)
Primitive arguments, such as an int or a double, are passed into methods by value. This means that any changes to the values of the parameters exist only within the scope of the method. When the method returns, the parameters are gone and any changes to them are lost. Here is an example:
public class PassPrimitiveByValue { public static void main(String[] args) { int x = 3; // invoke passMethod() with // x as argument passMethod(x);
I know in C++ It's possible to pass by reference but what about java?
For example, can i pass the address of a health variable into a Ninja class and then
Since Ninja inherits from an enemy class pass the health into the enemy class and within there have a function that returns that same health address and takes 5 from the health returning 95.
I have set up a project in Eclipse 3.1 and am using java 5.0 compiler.
Here's my folder structure in Eclipse
Java Code:
DFSRemoteClientTestClient.java mh_sh_highlight_all('java'); DFS is the project in Eclipse
And this is how it looks my java class
Java Code:
package RemoteClient; import java.util.*; // other imports public class TestClient { public static void main(String [] args) throws ServiceInvocationException { // business logic here .... } } mh_sh_highlight_all('java');
So, basically, my java class is just a simple class with a main function.
Now when I build my project, using Project->Clean...
Then I get this as an error at the very first line where i specify the package
This is the error:
Java Code: The type Class is not generic; it cannot be parameterized with arguments <T> mh_sh_highlight_all('java');
I don't really know what this means and it is sending an error when I try to run my program I am trying to set the x and y value (Int x and int y) to setVisible false at a specific time in my game but it keeps sending the error that int is not a reference type.
This means that x is a reference to objects of type, "myType" and no memory has been set aside for an instance of this object. I think it's true that x also has the starting memory address of this object.
What I feel uncertain about is if x is telling the JVM(?) where it can find the starting address of this object, why do we care about the type that x is?
i.e., if we assign x to an object totally unrelated to this type then the compiler would complain - correct? If so, how come, since all x is doing is telling the JVM(?) where to find your object (via the address it contains).
I suppose all, hy a reference has a type associated with it if all the reference does is point you to the object?
I have a Homework that's on Polymorphism and inheritance. The problem is of a triangle class. The super class is GeometricObject and the subclass Triangle. I have the parent and child classes compiling, now it's the test program.
The problem is the examples in the book don't show anything about prompting input for objects. The objects in the Triangle class are: side1, side2, and side3 and so I created objects in the test: Triangle sideOne = new Triangle(); . I've tried to compile but jGrasp doesn't like anything I do and the instructor in my class hasn't shown us examples yet. Can I prompt input for reference type and not just primitive type?
public class CollisionManager<T> { private boolean collision = false; private T mainEntity; public <T extends Entities> void handleCollision(T mainEntity, T secondEntity){ this.mainEntity = mainEntity; // This is illegal. } }
Why "this.mainEntity = mainEntity" is incorrect and also show me the correct way to achieve this?
The error I am getting is "Type mismatch: cannot convert T to T"
I am trying to implement the following example to override the equality and hashCode method if the class has reference type member. I do get the expected result "true" for equal and "false" for non-equal objects. But the print statement in the Circle's equal method is not executed when the objects values are not equal. I don't know what i am missing, though i get the equality result "false" as expected for non equal objects.
class Point{ private int x, y; Point (int x, int y) { this.x =x; this.y = y;
So I want to know how in Java you can pass a unkown type into a method (type can be an int, double, or a user defined object) and return that unkown type.
example of what I want: Java Code: public (unknowntype)[] method2 ((unknowntype)[]) //Process Data //unknowntype.process(); return (unknowntype); } mh_sh_highlight_all('java');
I know in C you can use void pointers and in c++ we have templates but I do not know how java handles this. Also I want to know if it is possible to call a method in the unknowntype.
I use this code in Restlet Representation. I try to get the value from the Request API. But I am facing the problem as "Cannot make a static reference to the non-static method getQuery() from the type Resource".
Now lets say that I want to access a method 'addInterest()' that is in the 'SavingsAccount' class I would have to do: '((SavingsAccount)s).addInterest();'
The question I have is why do I have to cast 'b' to SavingsAccount? Isn't the actual object reference of 'b' already an instance of 'SavingsAccount' class? How does the 'BankAccount' affect the object itself? I'm really confused as to what class is truly getting instantiated and how BankAccount and SavingsAccount are both functioning to make the object 'b'.
I don't understand why the object reference variable 'a' cannot be recast from a thisA object reference to a thisB object reference.Is it the case that once a reference variable is linked to a particular object type then it cannot switch object types later on.I am facing the Java Associate Developer exam soon and I am just clearing up some issues in my head around object reference variable assignment,
class thisA {} class thisB extends thisA { String testString = "test";} public class CastQuestion2 { public static void main(String[] args) { thisA a = new thisA(); thisB b = new thisB();
I am writing the following program in Java SE 7. It throwing "Cannot make a static reference to the non-static type String" . However if I write parameterised String inside main method as java.lang.String[] args, it compiles fine.
class MainClass<String> { <T> MainClass(T t) { System.out.println(t.getClass().getName()); } public static void main(String[] args) { System.out.println("asdasd"); new MainClass<>(""); } }
I mean following programs compile fine in Java SE 7 :
class MainClass<String> { <T> MainClass(T t) { System.out.println(t.getClass().getName()); } public static void main(java.lang.String[] args) { System.out.println("asdasd"); new MainClass<>(""); } }
import java.awt.*; import java.awt.event.*; import java.sql.*; public class ChickenListener implements ActionListener { int loopctrl; static Connection cn; static Statement st; static ResultSet rs; static PreparedStatement ps;
[Code]...
the second code
import java.awt.*; import java.awt.event.*; import java.sql.*; public class QuantityCounterListener implements ActionListener { String tempStrng; int tempInt; int x = 0;
[Code]...
what my problem is i need to transfer what does "tempString" from code 1 holds to code 2 in the //x part in the prepared statement.
I have created a DefaultTableModel tablel as a Global variable. The table is then created and attached to a Grid bag layout. Then I want to call the table again in another method to add rows of data into it. Hopefully that makes sense.
So the addrow for the table is located in the final method private class CalcButtonListener implements ActionListener
When I debug the code, deftablemodel variable is carrying NULL data.
Also to make things even more complicated, The actual headers for the table aren't showing up,... not entirely sure why though.
While practicing java i have came across boolean data type. i have executed below program but i am not sure how i got output of the program like below:
10 > 9 is true
Here is my program:
class BoolTest3 { public static void main(String args[]) { System.out.println("10 > 9 is "+(10>9)); } }
My question is: how this program will come to know that 10>9 true or false.. how bolean data type used in this program.
I was struggling to use BufferedReader to extract some data and then perform some calculations and then have the results as outputs.
I haven't quite solved that issue but in order to progress, I hard coded some values into my application and proceeded with the actual calculation loops etc.
Currently, the value out put from one of my calculations is given as:
1.1704926E7
How can I make the console show it in a natural way. I've performed the calculation manually and it should be 11704926.5 I don't want to lose that .5!
I am trying to use double data type in a for loop for precise operations and just to see if there could be any problem doing that I tested a small code :
public class doubleLimit { public static void main(String[] args){ for(double i=-0.1;i<=0;i+=0.01) System.out.println(i); }}
The output I was expecting is : -0.1 -0.09 -0.08 -0.07 -0.06 -0.05 -0.04 -0.03 -0.02 -0.01 0.00
But the output of the code is : -0.1 -0.09000000000000001 -0.08000000000000002 -0.07000000000000002 -0.06000000000000002 -0.05000000000000002 -0.040000000000000015 -0.030000000000000013 -0.02000000000000001 -0.01000000000000001 -1.0408340855860843E-17
Why is the code not working the way I expected, I think it has something to do with any property of double but I am not sure.
Is this the proper way to add to a generic list? My code works just fine, but I got this feeling that there might be some kind of flaw in it or something. Is this pretty much the basic way to add any type of data to a generic list?
import java.util.LinkedList; public class ListOfGeneric<E> { private LinkedList<E> myList;
public class InputFileData { /** * @param inputFile a file giving the data for an electronic * equipment supplier’s product range * @return an array of product details * @throws IOException */ public static Product [] readProductDataFile(File inputFile) throws IOException{ // YOUR CODE HERE }
This code is meant to be used to read a text file and store the data in an array of type Product[]. I know how to read in a text file and have it sort it into an array, but I've never seen code laid out in this fashion before (specifically "public static Product[]", and I'm unsure how to work with "(File inputfile)". I've looked all over the place but can't find any examples of anything like this.
Also, the code given cannot be changed, as it's that code I have to work with.
I still don't understand how to use it as a whole. For example, do I read the file in the main and have this method read that in and output to the Product class? Do I read the file in this method? I can't work out how to make this work when I have to use this method.