O’Reilly members experience live online training, to add books, videos, and also digital content from 200+ publishers.

You are watching: A special variable that holds a value being passed into a method is called what?


*

State affects behavior, habits affects state. We know that objects have state and also behavior, stood for by instance variables and also methods. However until now, we haven’t looked at how state and also behavior space related. We currently know that each instance of a course (each thing of a details type) have the right to have its own distinct values for its instance variables. Dog A have the right to have a name “Fido” and a weight that 70 pounds. Dog B is “Killer” and weighs 9 pounds. And if the Dog course has a an approach makeNoise(), well, don’t you think a 70-pound dog barks a little bit deeper than the small 9-pounder? (Assuming that annoying yippy sound can be thought about a bark.) Fortunately, it is the whole allude of one object—it has actually behavior that acts on its state. In various other words, methods use instance variable values. Like, “if dog is less than 14 pounds, make yippy sound, else...” or “increase weight by 5”. Let’s go change some state.


Remember: a course describes what an item knows and what things does

A class is the blueprint because that an object. when you create a class, you describing just how the JVM have to make an object of that type. You already know that every thing of that form can have different instance variable values. However what around the methods?


*

Can every thing of that type have different technique behavior?


Well... sort of.*

Every circumstances of a details class has actually the very same methods, yet the methods have the right to behave differently based on the value of the instance variables.

The Song course has two circumstances variables, title and also artist. The play() an approach plays a song, but the circumstances you speak to play() on will certainly play the song represented by the value of the title circumstances variable for that instance. So, if you speak to the play() an approach on one instance you’ll hear the tune “Politik”, while another instance theatre “Darkstar”. The an approach code, however, is the same.

void play() soundPlayer.playSound(title);

*

Song t2 = new Song();t2.setArtist("Travis");t2.setTitle("Sing");Song s3 = new Song();s3.setArtist("Sex Pistols");s3.setTitle("My Way");
The size affects the bark
A little Dog’s bark is different from a huge Dog’s bark.

The Dog class has an circumstances variable size, the the bark() method uses to decide what sort of bark sound to make.


*

*

You can send points to a method

Just as you suppose from any programming language, you have the right to pass values right into your methods. Friend might, because that example, desire to tell a Dog object how plenty of times come bark by calling:

d.bark(3);Depending on your programming elevator and an individual preferences, you might use the hatchet arguments or probably parameters because that the worths passed into a method. Although over there are formal computer science distinguish that world who wear laboratory coats and who will practically certainly not read this book, make, we have actually bigger fish to fry in this book. Therefore you can call them every little thing you favor (arguments, donuts, hairballs, etc.) however we’re act it prefer this:

A method uses parameters. A caller passes arguments.

Arguments space the things you pass into the methods. An argument (a value like 2, “Foo”, or a referral to a Dog) floor face-down right into a... Wait for it... parameter. And also a parameter is nothing much more than a neighborhood variable. A variable v a form and a name, that have the right to be provided inside the body of the method.

But here’s the important part: If a an approach takes a parameter, you must pass that something. and that something should be a worth of the proper type.

See more: Which Of The Following Statements Regarding The Thymus Is False?


Methods deserve to return values. Every method is claimed with a return type, yet until currently we’ve made all of our methods with a void return type, which method they don’t offer anything back.

void go() But we have the right to declare a method to provide a specific kind of value earlier to the caller, such as:

int giveSecret() return 42;If you explain a technique to return a value, girlfriend must return a value of the claimed type! (Or a value that is compatible with the declared type. We’ll gain into that more when we talk about polymorphism in Chapter 7 and also Chapter 8.)