0% found this document useful (0 votes)
3 views44 pages

Java Fibonacci Series Example

java notes easy to use

Uploaded by

p24389799
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views44 pages

Java Fibonacci Series Example

java notes easy to use

Uploaded by

p24389799
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd

public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

A class in Java is a user-defined blueprint or prototype from which objects are created. It defines
variables (attributes) and methods (functions) that describe the behavior of the objects.

🔹 Object in Java// Define a class named Car

public class Car {

// Attributes (fields)

String brand;
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

String model;

int year;

// Constructor to initialize the object

public Car(String brand, String model, int year) {

[Link] = brand;
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

[Link] = model;

[Link] = year;

// Method to display car details

public void displayInfo() {


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

[Link]("Car: " + brand + " " + model + ", Year: " + year);

// Main method to create and use objects

public static void main(String[] args) {

// Creating objects of Car class


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Car car1 = new Car("Toyota", "Corolla", 2020);

Car car2 = new Car("Tesla", "Model 3", 2023);

// Calling methods on the objects

[Link]();

[Link]();
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

🔍 Output:

yaml

Copy

Edit
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

2. class Animal {

void sound() {

[Link]("Animal makes a sound");

}
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

class Dog extends Animal {

void bark() {

[Link]("Dog barks");

}
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public class Test {

public static void main(String[] args) {

Dog d = new Dog();

[Link](); // Inherited method

[Link](); // Child method

}
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Types of Inheritance in Java:

Single Inheritance

➤ One child class inherits from one parent class.

Example: class B extends A


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Multilevel Inheritance

➤ A class inherits from a child class which itself inherited from another class.

Example: class C extends B, class B extends A

Hierarchical Inheritance

➤ Multiple classes inherit from one parent class.


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Example: class B extends A, class C extends A

Hybrid Inheritance (Through Interfaces only)

➤ Combination of two or more types (Java does not support it through classes, only via interfaces).

❌ Note:
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Java does NOT support Multiple Inheritance with classes (i.e., one class can't extend two classes). But it
supports it using interfaces.

3. How to Create a JAR File in Java (Short & Easy Steps)

A JAR (Java ARchive) file bundles multiple .class files and other resources into one file.

🔹 Steps:
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Compile your Java file:

bash

Copy

Edit

javac [Link]
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Create the JAR file:

bash

Copy

Edit

jar cf [Link] [Link]


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

c = create

f = specify file name

✅ Result:

You get [Link] containing [Link]


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Let me know if you want to include a manifest file or make it executable.

4. Exception and Error in Java (Short & Easy)

🔹 Exception

An exception is an unexpected event that occurs during the execution of a program, which disrupts the
normal flow.
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Example: Dividing by zero, accessing a null object.

🔹 Error

An error is a serious problem that cannot be handled by the program.

Example: Out of memory, stack overflow.


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

✅ Types of Exceptions in Java

Checked Exceptions (Compile-time)

Must be handled using try-catch or throws.

Examples:

IOException
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

SQLException

ClassNotFoundException

Unchecked Exceptions (Runtime)


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Occur during program execution. Handling is optional.

Examples:

NullPointerException

ArithmeticException
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

ArrayIndexOutOfBoundsException

✅ Hierarchy Overview:

php

Copy
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Edit

Throwable

├── Exception (can be caught)

│ ├── Checked Exceptions

│ └── Unchecked Exceptions (RuntimeException)

└── Error (cannot be caught)


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

├── OutOfMemoryError

└── StackOverflowError

Let me know if you want a diagram or example code for any of them!

5. ✅ What is a Thread in Java? (Short & Easy)

In Java, threads are used to perform tasks like downloading files, running animations, or class MyThread
extends Thread {
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public void run() {

[Link]("Thread is running...");

public static void main(String[] args) {

MyThread t = new MyThread();


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

[Link](); // starts the thread

}handling multiple users. +-------------------+

| |

| New |

| |
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

+--------+----------+

+-------+--------+

| |

| Runnable |<-------------+
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

| | |

+-------+--------+ |

| |

v |

+-------+--------+ |

| | |
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

| Running | |

| | |

+---+-----+------+ |

| | |

| v |

| Waiting / |
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

| Blocked / Sleeping |

| (Timed or Not) |

| |

v |

+----+---------+ |

| | |
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

| Terminated |-----------------+

| |

+--------------+

States Explained:

New – Thread is created but not started.


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Runnable – Thread is ready to run but waiting for CPU.

Running – Thread is executing.

Blocked/Waiting/Sleeping – Thread is temporarily inactive.


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Terminated (Dead) – Thread has finished execution or stopped.

section-B

1. Polymorphism is a fundamental concept in object-oriented programming (OOP) that allows


objects of different classes to be treated as objects of a common superclass. It enables a single
interface to represent different types of behavior. In simpler terms, polymorphism allows the
same method name to perform different tasks depending on the context.

There are two main types of polymorphism:


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

1. Method Overloading (Compile-time Polymorphism)


Method overloading means having multiple methods in the same class with the same name but
different parameter lists (number, type, or order of parameters). The compiler decides which
method to invoke based on the method signature.

✅ Example in Java:

java
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

CopyEdit
class Calculator {
// Overloaded method: add(int, int)
int add(int a, int b) {
return a + b;
}

// Overloaded method: add(double, double)


double add(double a, double b) {
return a + b;
}
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

// Overloaded method: add(int, int, int)


int add(int a, int b, int c) {
return a + b + c;
}
}

public class Main {


public static void main(String[] args) {
Calculator calc = new Calculator();
[Link]([Link](5, 3)); // Output: 8
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

[Link]([Link](5.5, 3.2)); // Output: 8.7


[Link]([Link](1, 2, 3)); // Output: 6
}
}

🔹 2. Method Overriding (Run-time Polymorphism)


public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Method overriding means redefining a method in a subclass that already exists in the superclass.
The method must have the same name, return type, and parameters. This allows the subclass to
provide a specific implementation of the method.

✅ Example in Java:

java
CopyEdit
class Animal {
void sound() {
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

[Link]("Animal makes a sound");


}
}

class Dog extends Animal {


@Override
void sound() {
[Link]("Dog barks");
}
}
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

class Cat extends Animal {


@Override
void sound() {
[Link]("Cat meows");
}
}

public class Main {


public static void main(String[] args) {
Animal a;
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

a = new Dog();
[Link](); // Output: Dog barks

a = new Cat();
[Link](); // Output: Cat meows
}
}

🔁 Summary
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

Feature Overloading Overriding


Based on Parameters (type, number, order) Inheritance (child class modifies parent)
Occurs at Compile time Runtime
Class requirement Same class Different classes (Inheritance)
Signature Must differ Must be same

Let me know if you'd like the same examples in Python or another language.
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}
public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

public static void main(String[] args) {


int terms = 10; // Number of terms in the series

[Link]("Fibonacci Series up to " + terms + " terms:");


for (int i = 0; i < terms; i++) {
[Link](fibonacci(i) + " ");
}
}
}public class Fibonacci {

// Recursive method to return nth Fibonacci number


public static int fibonacci(int n) {
if (n <= 1)
return n; // base cases: fibonacci(0) = 0, fibonacci(1) = 1
return fibonacci(n - 1) + fibonacci(n - 2); // recursive case
}

You might also like