Parameter List

In AP Computer Science A, a parameter list is the comma-separated set of variable types (and names) inside a method or constructor's parentheses, defining exactly what inputs the caller must provide, in what order, and of what type.

Verified for the 2027 AP Computer Science A examLast updated June 2026

What is the Parameter List?

A parameter list is everything inside the parentheses of a method or constructor header. For public Student(String name, int gradeLevel), the parameter list is String name, int gradeLevel. It tells Java three things at once: how many values the caller must pass, what type each one must be, and what order they go in.

Think of it as the lock that the method call has to fit. When you write new Student("Ava", 10), the compiler checks your arguments against the parameter list. Two arguments? Check. A String then an int? Check. If anything is off, the code won't compile. The parameter list (combined with the method or constructor name) forms the signature, which is how Java tells methods with the same name apart. That makes parameter lists the engine behind both method overloading and constructor overloading.

Why the Parameter List matters in AP Computer Science A

Parameter lists show up everywhere you call or write code in AP CSA. In Unit 2, you use them to call constructors and methods correctly with new and dot notation. In Unit 5, you write them yourself when designing classes, constructors, and methods. The big conceptual payoff is the signature rule. Java identifies a method by its name plus its parameter list, NOT its return type. Overloaded constructors like Dog() and Dog(String name) only coexist because their parameter lists differ. If you can read a parameter list, you can predict which overloaded version gets called, which is exactly what multiple-choice questions test. On FRQs, every method you write starts with a header, and a wrong parameter list (wrong types, wrong order, missing parameters) costs points before your logic is even graded.

How the Parameter List connects across the course

Method Overloading (Unit 5)

Two methods can share a name only if their parameter lists differ in number, type, or order of parameters. The parameter list is literally what makes overloading possible, because it's how the compiler picks which version to run.

Constructor Overloading (Units 2 & 5)

A class can have a no-argument constructor and a parameterized constructor side by side because their parameter lists are different. When you write new Circle(5.0), Java matches your argument types against each constructor's parameter list to choose one.

Argument (Unit 2)

Parameters are the placeholders in the definition; arguments are the actual values you pass when calling. The argument list at a call site must match the parameter list in count, order, and compatible types, or the code won't compile.

Return Type (Unit 5)

The return type sits next to the parameter list in a method header, but it is NOT part of the signature. You cannot overload two methods that differ only in return type, a distinction multiple-choice questions love to test.

Is the Parameter List on the AP Computer Science A exam?

Multiple-choice questions test whether you know what a signature does and does not include. A classic stem asks what a constructor signature consists of (the class name plus the parameter list) or what it does NOT include (the return type, since constructors don't have one). Other questions show overloaded methods or constructors and ask which one a given call invokes, which means matching argument types and order against each parameter list. On the free-response section, you write method headers constantly. FRQ prompts give you a specification like "write a method that takes an int and a String," and your parameter list must match that spec exactly in type and order. Getting the parameter list wrong in a class-design FRQ can break the constructor and every method that depends on it.

The Parameter List vs Argument

A parameter is the variable declared in the method header (int x in public void grow(int x)). An argument is the actual value you pass when you call it (grow(5)). The parameter list lives in the definition; the argument list lives at the call site. The exam uses both words, so know that arguments must match the parameter list in number, order, and type.

Key things to remember about the Parameter List

  • A parameter list is the set of typed variables declared inside the parentheses of a method or constructor header, and it dictates the number, type, and order of values a caller must provide.

  • A method's signature is its name plus its parameter list, and the return type is not part of the signature.

  • A constructor's signature is the class name plus its parameter list, and constructors never have a return type.

  • Overloaded methods and constructors must have different parameter lists, differing in the number, types, or order of parameters.

  • When a method is called, the compiler matches the arguments against the parameter list, so a mismatch in type or order causes a compile-time error.

  • On FRQs, your method headers must match the prompt's specified parameter types and order exactly, or your implementation loses points.

Frequently asked questions about the Parameter List

What is a parameter list in AP Computer Science A?

It's the comma-separated list of variable types and names inside the parentheses of a method or constructor header, like (String name, int age). It defines what inputs the caller must supply, in what order, and of what type.

Is the return type part of the parameter list or signature?

No. The signature is the method name plus the parameter list only. Two methods that differ only in return type are a compile error, not valid overloading, and AP multiple-choice questions test this exact point.

What's the difference between a parameter list and an argument list?

The parameter list is in the method definition (placeholders like int x), while arguments are the real values you pass when calling the method (like 5). Arguments must match the parameter list in count, order, and compatible types.

Can a parameter list be empty in Java?

Yes. A method or constructor with empty parentheses, like a no-argument constructor Dog(), has an empty parameter list. It can coexist with overloaded versions like Dog(String name) because the parameter lists differ.

How do parameter lists make constructor overloading work?

Java distinguishes constructors only by their parameter lists, since they all share the class name and have no return type. So Circle() and Circle(double radius) can both exist, and the arguments you pass with new determine which one runs.