In this program, you'll learn to add two complex numbers in Java by creating a class named Complex and passing it into a function add().

```
public class Complex {
double real;
double imag;
public Complex(double real, double imag) {
this.real = real;
this.imag = imag;
}
public static void main(String[] args) {
Complex n1 = new Complex(2.3, 4.5),
n2 = new Complex(3.4, 5.0),
temp;
temp = add(n1, n2);
System.out.printf("Sum = %.1f + %.1fi", temp.real, temp.imag);
}
public static Complex add(Complex n1, Complex n2)
{
Complex temp = new Complex(0.0, 0.0);
temp.real = n1.real + n2.real;
temp.imag = n1.imag + n2.imag;
return(temp);
}
}
```

When you run the program, the output will be:

Sum = 5.7 + 9.5i

In the above program, we created a class `Complex`

with two member variables: `real` and `imag`. As name suggests, `real` stores real part of a complex number and `imag` stores the imaginary part.

The `Complex`

class has a constructor with initializes the value of `real` and `imag`.

We also created a new static function `add()`

that takes two complex numbers as parameters and returns the result as a complex number.

Inside the `add()`

method, we just add the real and imaginary parts of complex numbers `n1` and `n2`, store it in a new variable `temp` and return `temp`.

Then, in the calling function `main()`

, we print it using `printf()`

function.