Calling Class Methods
| English | Chinese | Pinyin |
|---|---|---|
| class method | 类方法 | lèi fāng fǎ |
| static method | 静态方法 | jìng tài fāng fǎ |
Calling a class method
- A class method 类方法 (a static method 静态方法) belongs to the class itself, not to an object.
- Call it with the class name and a dot:
Math.sqrt(16),Integer.parseInt("42"). - No object needs to exist — the method lives on the class.
- The keyword
staticin the header marks a method as a class method.
Passing arguments
- Put the arguments inside the parentheses:
Math.max(3, 8). - The values are matched to the method's parameters, by position.
- Give the right number and types of arguments, or it won't compile.
- No arguments? Still write the empty parentheses:
sc.nextLine().
Using the return value
- Most class methods return a value — capture it in a variable.
double r = Math.sqrt(16);stores4.0inr.- Ignoring a useful return value usually means you forgot to store the result.
- A returned value can also feed straight into another expression.
Static vs. instance — a first look
- A class (static) method is called on the class:
Math.abs(-5). - An instance method (next lessons) is called on an object:
word.length(). - The tell: is there a dot after a class name or after an object?
- Class methods don't need an object; instance methods do.
Call a class method on the CLASS name, not an object: Math.sqrt(16), never m.sqrt(16). Match the argument count and types to the method's parameters, and remember to store the return value — Math.sqrt(16); on its own computes 4.0 and then throws it away. Empty parentheses are still required when there are no arguments.
Combining class method calls:
int bigger = Math.max(3, 8);→biggeris8.double root = Math.sqrt(bigger + 1);→Math.sqrt(9)→3.0.- A return value (
8) fed straight into the next call.
A class (static) method is called on the class name: Math.sqrt(16). Pass the right arguments (matched by position and type) in parentheses, and store the return value in a variable to use it. This differs from an instance method, which is called on an object.
Calling a static method
Math.max is called on the class and returns the larger value.
How do you correctly call the static method sqrt from the Math class?
Class methods are called on the class name with a dot.
What does Math.max(3, 8) return?
max returns the larger of the two arguments.
The keyword that marks a method as a class (static) method is...
static means the method belongs to the class, not an object.
Math.sqrt(16); on its own line stores 4.0 for later use.
It computes 4.0 but discards it — you must store the return value.
A class method is called on the class name, while an instance method is called on an object.
Math.abs(-5) (class) vs word.length() (object).