Instance Variables Passed In As Arguments To Static Methods?

Feb 19, 2011

I thought static methods could never use instance variables, because they wouldn't know which instance to look at.

From Head First Java, p. 284: "A static method is not associated with a particular instance - only the class - so it cannot access any instance variable values of its class. It wouldn't know which instance's values to use."

Now I was answering some mock exam questions from Cameron McKenzie's SCJA book, and I don't understand one of the options. On page 205, the last question has an option that says: "Instance variables ... are not visible in static methods, unless passed in as arguments." This option is supposed to be correct. Now... how does that work?

View Replies


ADVERTISEMENT

Creating Static Methods That Accepts Arguments And Returns A Value

Oct 7, 2014

This is titled "Creating static methods that accepts arguments and returns a value". I think that I understood everything about this except for the very bottom part of the code. I wasn't really sure where to put it. From the errors that I am seeing, I know which line is giving the errors but I'm not sure what is wrong with it.

import java.util.Scanner;
public class ParadiseInfo2{
public static void main(String[] args){
double price;
double discount;

[Code] ....

Errors:G:ParadiseInfo2.java:29: error: illegal start of expression
public static double computeDiscountInfo(double pr, double dscnt)
^
G:ParadiseInfo2.java:29: error: illegal start of expression
public static double computeDiscountInfo(double pr, double dscnt)

[Code] ....

6 errors

Tool completed with exit code 1

View Replies View Related

Accessing Instance Variables And Methods

Oct 24, 2014

I have the following 2 classes:

class Address {
private int a;
public void set_a(int a) {
this.a = a;
}
}
class Person {
private Address address;
}

How do i access the method set_a() (through the "address" in Person) from another class which contains main() ?

View Replies View Related

Do Inherited Methods Use Their Instance Variables?

Jan 8, 2014

Do inherited methods use their instance variables or do they use the ones in the method that inherits them?

For example, Class B extends Class A. Class A and B both have the instance variable "potato". A client program tries to use method "cut" using an object of Class B, but class B has no cut method. So, class B uses the "cut" method inherited from class A. What I want to know is will that cut class A's potato or class B's?

View Replies View Related

Object / Methods - Private Instance Variables

Jun 30, 2014

so, i was reading my java book and learning about objects and methods and it starts talking about Encapsulation and mentions that it's good practice to set instance variables as private and instead of accessing the instance variables directly, we should create a set method and get method to get and set the stuff we want to pass to the class containing the object...

for example, in this class, we're passing the integer 70 for object dog one and integer 8 for object dog two for the dog class... and these these 2 integers are sent to the setsize method so we're not accessing instance variable size directly.

i dont quite get it though....if we the programmer are the one deciding what size the integer is for the dog, and the setsize method takes the one.setSize(70) or (8) and puts them in setsize(int s) as s... but only to copy that integer stored in s back to private int size.... why do we even need to bother with making these two extra methods such as setSize, getSize?

in the book it says that... well what if the code gets into the wrong hand and someone writes something like one.setSize(0) then you would get a dog with size 0 which is essentially illogical. but then again, i'm the programmer, and i am the person who writes the code and passing the right integer.The reason for public and private... that part i understand... i can see why if a variable's data can get changed amidst the code during calculations and you dont want it to directly change the original variable and have it mess up the code, but this code from the book just a bad example of demonstrating the reason? since we manually pass the information ourselves and passing it to method setSize... and all setSize does is stores it in another integer, only to copy it right away to size (which is the original private variable we were tryign to protect?

Any simple code to demonstrate how the code might end up changing an instance variable and why we would want to protect it by using private?

class GoodDog {
private int size;
public int getSize() {
return size;
}
public void setSize(int s) {
size = s;

[code]...

View Replies View Related

Alternative To Update Passed Arguments?

Apr 22, 2015

I am writing a simple program in Java, where I call a method and pass some variables (namely, min and max) as arguments. This method is recursive, so the same arguments are again passed on in each recursive call.

I need to update these variables in recursive calls so that when the calling method uses them, it uses updated values. As it might sound confusing, here is sample code :

// Function 1.
void func1() {
//Call func2.
func2 (int hd, int min, int max, Map<String, String> map);
//Other stuff.
}
// Function 2.

[code]....

As you can see, min and max are updated after each recursive call returns, based on conditions. However, these changes aren't reflected in original min and max, which were used by func1 while calling func2. As far as I know, this happens due to call by value mechanism being used by Java while passing arguments. If I declare min and max as instance variables in the class, my problem is solved. But, I want to know whether there's any other way to update these variables so that changes in original min and max are reflected. Yes, I can return them as an array of 2 elements each time while returning, but it didn't seem a good solution to me.

View Replies View Related

Changing Variables That Are Passed In?

Apr 11, 2014

I'm having some trouble figuring out how to change the value of a variable that is passed into a class. I've tried just changing the variable, I've tried changing it by using the this.variable command, and I've even tried calling the setter class from within the class to change it, but it's still not working right. The first class is the one with Main in it and I just feed it some dummy data:

public class ExamConverter {
public static void main(String[] args) {
// TODO Auto-generated method stub
Age testAge = new Age();
 
[Code] .....

This is the other class to calculate the age the way we do it on psych tests - it might not be mathematically accurate, but it's what all the tables and such for raw to scaled score conversion are based on, so the math needs to be the same as opposed to "accurate" because of some months having 30 or 31 days, etc.

public class Age {
//==================Properties==================
// Variables for the test date and client date of birth
private int TestMonth;
private int TestDay;
private int TestYear;
private int ClientMonth;
private int ClientDay;
private int ClientYear;
 
[Code] ......

Based on this dummy data, the output is:
Test: 5/4/2014
DOB: 5/5/1971
Age Years: 43 Months: 0 Days: 0

However, it should be:
Test: 5/4/2014
DOB: 5/5/1971
Age Years: 42 Months: 11 Days: 29

View Replies View Related

Instantiating Class With Non Static Variables From Within Static Method

Oct 28, 2014

Why I can create an Instance of a class that contains non static variables within the static main method ?

This program runs fine

import java.util.*;
public class Test{
public int j;
public static void main(String[] args) {
Test test1=new Test();
System.out.println(test1.j);

[Code] .....

View Replies View Related

Static Method That Requires No Arguments And Returns No Value

Sep 30, 2014

I am doing a homework assignment and I am clueless as to what I did wrong or supposed to do in terms of placement of coding. If someone could dumb down their response and tell me what I did wrong

This is what I supposed to do:

1.) Type the following shell for the class:

public class ParadiseInfo
{
}

2.) Between curly braces of the class, indent a few spaces and create the shell for the main() method:

public static void main(String[] args)
{
}

3.) Between the braces of the main()Method, insert a call to the displayInfo() method:

displayInfo();

4.) Place the displayInfo() method outside of the main() method, just before the closing curly brace for the ParadiseInfo class:

public static void displayInfo()
{
system.out.println ("Paradise Day Spa wants to pamper you.");
system.out.println ("We will make you look good.");
}

This is what I attempted to do: I know it is wrong I am just clueless on where to put the code and why

public class ParadiseInfo
{
displayInfo();
public static void main(String[] args)
{
public static void displayInfo();
}
system.out.println("Paradise Day Spa wants to pamper you.");
system.out.println("We will make you look good.");
}

--- Update ---

I have also tried this:

public class ParadiseInfo
{
displayInfo();
public static void main(String[] args)
{
}
public static void displayInfo();
{

[Code]...

The very last attempt I only ended up with one error which is:

G:ParadiseInfo.java:3: error: invalid method declaration; return type required
displayInfo();
^
1 error

Tool completed with exit code 1

Java is very new to me and I have no clue on what I am doing wrong.

View Replies View Related

How Many Elements Array Contain Which Is Passed To Public Static Void Main In TestCommandLine

Apr 8, 2014

java com.brainbench.TestCommandLine -p Parameter1 Parameter2 Parameter3 Parameter4 ..

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

View Replies View Related

Creating A Static Method That Requires No Arguments And Returns No Values?

Sep 28, 2014

I am doing an assignment and I am clueless as to what I did wrong or supposed to do in terms of placement of coding.

This is what I supposed to do:

1.) Type the following shell for the class:

public class ParadiseInfo
{
}

2.) Between curly braces of the class, indent a few spaces and create the shell for the main() method:

public static void main(String[] args)
{
}

3.) Between the braces of the main()Method, insert a call to the displayInfo() method:

displayInfo();

4.) Place the displayInfo() method outside of the main() method, just before the closing curly brace for the ParadiseInfo class:

public static void displayInfo()
{
system.out.println ("Paradise Day Spa wants to pamper you.");
system.out.println ("We will make you look good.");
}

This is what I attempted to do:

I know it is wrong I am just clueless on where to put the code and why

public class ParadiseInfo
{
displayInfo();
public static void main(String[] args)
{
public static void displayInfo();
}
system.out.println("Paradise Day Spa wants to pamper you.");
system.out.println("We will make you look good.");
}

--- Update ---

I also tried it this one and ended up with 1 error..

public class ParadiseInfo
{
displayInfo();
public static void main(String[] args)
{
}
public static void displayInfo();
{
system.out.println("Paradise Day Spa wants to pamper you.");
system.out.println("We will make you look good.");
}
}

View Replies View Related

Can't Call Non-static Methods Inside Static

Aug 19, 2014

i am trying to make something, and i want to request input from user and it shoud look like this

1. xxx -> press 1 to choose this
2. xxx -> press 2 to choose this

So if they enter 3 or string or whatever i want to restart method and show again

1. xxx -> press 1 to choose this
2. xxx -> press 2 to choose this

So here is method that i am trying to restart

public static void askUser(){
System.out.println("xxx");
System.out.println("1. xxx");
System.out.println("2. xxx");
System.out.println("3. xxx");
 
[code]....

If i try to make it public void than it say can't call non-static methods inside static(main).if i try to put it into new class and then call it after i fail input it goes into infinite loop.

View Replies View Related

Static Main Calling Non-static Methods

Oct 21, 2014

package Experimentation;
import javax.swing.*;
import java.awt.event.*;
public class SimpleGUI1B implements ActionListener {
JButton button;
public static void main(String[] args) {
SimpleGUI1B gui = new SimpleGUI1B();
gui.go();

[code]...

This is a program from Head First Java! since main is static it shouldn't be able to call non-static methods because statics do not use any instance variable values but in the above program we're call a non-static method go() how is it possible?

View Replies View Related

Two Ways To Pass Arguments To Methods

Nov 14, 2014

I have a test that covers Objects & Classes, Importing Classes and Polymorphism. One of the essay questions will be: Explain two ways to pass arguments to methods and give examples. I was reading the book and found Pass by Value and Pass by Reference. Is this the two ways to pass arguments?

View Replies View Related

New Object With Instance Variables

Apr 7, 2014

So far in my assignment I have successfully opened a text file. However I am required to do more:

1) As each line of text (containing names and ages) is read a new Runner object is created with its instance variables set thus: ! (Runner class already created )!

- name : set directly set from the value in the file
- agaGroup : can be worked out from the given ages:
< 18 should be 'junior'
> 55 should be 'senior'
the rest should be 'standard'

2) the instance of Runner should be added to the list referenced by the instance variable runners.

I have used if statements to create the junior list, however I do not see the full list of names and ages in the variable runners as I am requested to.

I am sure there is a for loop involved somewhere but I do not know how to:

a) use the for loop in my method
add a new Runner object with the variable mentioned.

I include the code I have done so far as a file - p.s I use Bluej.

public class MarathonAdmin
{
// instance variables
private String runners;
private String age;

[Code] ....

View Replies View Related

Process Of Calling Methods - Adjusting Variable Without Having It Passed Through Parameters

Feb 3, 2014

eg: "Sourdough".toUpperCase();

I guess this is actually a 2-part question:

- How does this work? (nothing seems to be passed through the parameter, so how is it that the value or variable is manipulated in this fashion?)

- How would I create a method that does something similar? (ie. adjusting a variable without having it passed through the parameters)

View Replies View Related

Describing The Type Of Instance Variables?

Oct 9, 2014

What is the correct way of describing the type of instance variables?

It is obvious in the case of a primitive type

Example: private int number;

The (data)type of number is integer.

What if the instance variable is an object or a wrapper?

example: private Person person;

the (data?)type of person is an object of the type/class Person?

example: private Integer number;

View Replies View Related

Accessing Variables From Array Instance Of Class?

Jan 26, 2015

I am having some problem accessing variables from an array instance of a class. Heres what i have done;

In the main class:

Example obj[]= new Example[4];

In the main class constructor:

obj[0] = new Example(0);
obj[1] = new Example(1);
obj[2] = new Example(2);
obj[3] = new Example(3);

In the main update() method:

if(condition)
//update

In the Example class constructor:

private boolean change = false;

In the Example class update() method:

if(x >20)
change= true;

Now, i want to access the variable change from the main class, how do i do it? The 'condition' in the if statement is the condition of wether the change variable ia true or false. How do i access it?

View Replies View Related

Why Overridden Doesn't Apply To Instance Variables

Mar 15, 2014

why overridden doesn't apply to variables. However, instance variables are stored inside the object.I ran below program and expected to print "two" but it gets printed "one".

class SupCont {
String s = "one";
}
class Cont extends SupCont {
public static void main(String a[]) {
String s = "two";
SupCont c = new Cont();
System.out.println(c.s);
}
}

View Replies View Related

Creating Instance Variables And Constructors For Map Class

Mar 27, 2014

I have to create an application that deals with maps.

I first have to create the instance variables for the class.

So very simply if my hashmap is going to consist of football clubs and players. Football clubs being a string value for the key and players being a set of strings for the values. How would I go about creating the instance variable in a class for this?

I can't seem to find anything that specifically deals with instance variables and constructors for maps.

View Replies View Related

Making A Rectangle - Manipulation Of Instance Variables

Sep 11, 2014

I am suppose to create a rectangle and I have created two classes; Rectangle.java and RectangleTester.Java.

So far my code for the class Rentangle.java is:

package edu.sbcc.hw2;
public class Rectangle {
private int width = 25;
private int height = 25;
public rectangle(int xcoord, int ycoord, int thewidth, int theheight) {
this.width = width;
this.height = height;
}
public int getWidth() {
return width;

So for my assignment I need two instance variables for height and width for which I have, but it says in the assignment I need methods (settings and getters /mutators and accessors that allow manipulation of my instance variables which is a little confusing. Do I put these methods on Rectangle.java or RectangleTester.java.

The same goes for the calculateArea, where am I suppose to put this?

View Replies View Related

Instance Variables Can Be Declared In Class Level Before Or After Use

Jun 3, 2014

From the tutorial:instance variables can be declared in class level before or after use.But the code below does not compile. Why?

Java Code:

public class MainApp {
i=5;
public static void main(String[] args) {
System.out.println("Hello World");
}
int i;
} mh_sh_highlight_all('java');

View Replies View Related

Create A Class That Includes Three Pieces Of Information As Instance Variables

Oct 9, 2014

Creating a class. Specification are given as:

Create a class called Employee that includes three pieces of information as instance variables:

-Employee ID (string type)
-first name (string type) (default value 'John')
-last name (string type) (default value 'Smith') and
-monthly salary (type double).
-No argument constructor that initializes the three instance variables. The employee id should be generated using the following process:

The employee id should be a combination of first initial, last initial and a number starting from 10001 for the first employee and increasing by one for each employee. e.g. if John Smith is the first employee then its id will be JS10001 and if George Brown is the second employee then its id will be GB10002

-Provide get and set methods for each instance variable. The set method for monthly salary should ensure that its value remains positive - if an attempt is made to assign a negative value, leave the original value.

View Replies View Related

Servlets :: Thread Safety Should Not Use Any Variables Or Objects At Instance / Class Level

Jun 3, 2014

As web server has multiple threads to serve client requests in Thread Pool & to ensure Thread Safety we should not use any variables or Objects at Instance/Class level.But in case of Session Variable which one is the Best Practice as the Session object is used by all the requests to have the same Session ID.

My Code :

public class MyServlet extends HttpServlet {
private static Logger log = Logger.getLogger(ClientRegistrationServlet.class);
private HttpSession session; /* This is used at Instance Level*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

[code]....

View Replies View Related

Netbeans And Non-static Variables

Feb 11, 2014

I'm doing in this small piece of code -

JavaApplication3.java

package javaapplication3;
public class JavaApplication3 {
public class robot {
int xlocation;
int ylocation;
String name;
static int ccount = 0;

[Code] .....

When I'm trying to compile it with netbeans i get these errors and i just can't figure why is that!

C:UsersuserDocumentsNetBeansProjectsJavaApplication3srcjavaapplication3JavaApplication3.java:16: error: Illegal static declaration in inner class JavaApplication3.robot
static int ccount = 0;
modifier 'static' is only allowed in constant variable declarations

C:UsersuserDocumentsNetBeansProjectsJavaApplication3srcjavaapplication3JavaApplication3.java:30: error: non-static variable this cannot be referenced from a static context
robot firstrobot = new robot(34,51,"yossi");

View Replies View Related

Create Instance Of Own Triangle Class And Use One Of Its Methods

Mar 15, 2014

So in the code below I create an instance of my own triangle class and use one of its methods. The thing is I use one of my triangle classes methods in a method other the main method of my main program so I'm thinking it can't access it?

Any way here's the code for my triangle class
 
import java.util.Scanner;
public class QudratullahMommandi_Triangle_06 {
Scanner keyboard = new Scanner(System.in);
private double side1;
private double side2;
private double side3;

[Code] ....

and here's the error message

QudratullahMommandi_S_06.java:46: error: cannot find symbol
{ triangle1.outPut();
^
symbol: variable triangle1
location: class QudratullahMommandi_S_06
1 error

View Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved