committed by
The Coding Aviator
parent
1be6528d4b
commit
ccfb6444f1
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Constructors
|
title: Constructors
|
||||||
|
|
||||||
---
|
---
|
||||||
Constructors are functions or methods in a program that creates an object of a class and can also initialize attributes for the object. The object is an instance of the class and can perform the methods/functions defined within the class.
|
Constructors are functions or methods in a program that creates an object of a class and can also initialize attributes for the object. The object is an instance of the class and can perform the methods/functions defined within the class.
|
||||||
|
|
||||||
@ -147,11 +148,14 @@ public class Car {
|
|||||||
So, the only way to gain access to the instance is by using `Bank.getInstance()`. Such instances are called `Singleton` since you get exactly one instance (per VM to be precise) throughout the life of your application.
|
So, the only way to gain access to the instance is by using `Bank.getInstance()`. Such instances are called `Singleton` since you get exactly one instance (per VM to be precise) throughout the life of your application.
|
||||||
|
|
||||||
## Copy constructor
|
## Copy constructor
|
||||||
|
|
||||||
The copy constructor is a constructor which creates an object by initializing it with an object of the same class, which has been created previously. The copy constructor is used to-
|
The copy constructor is a constructor which creates an object by initializing it with an object of the same class, which has been created previously. The copy constructor is used to-
|
||||||
|
|
||||||
1. Initialize an object from another of the same type.
|
1. Initialize an object from another of the same type.
|
||||||
2. Copy an object to pass it as an argument to a function.
|
2. Copy an object to pass it as an argument to a function.
|
||||||
3. Copy an object to return it from a function.
|
3. Copy an object to return it from a function.
|
||||||
Here is a program that shows a simple use of copy constructor:
|
Here is a program that shows a simple use of copy constructor:
|
||||||
|
|
||||||
```Java
|
```Java
|
||||||
class Complex {
|
class Complex {
|
||||||
|
|
||||||
@ -173,8 +177,37 @@ class Complex {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
[run the full code](https://repl.it/MwnJ)
|
[run the full code](https://repl.it/MwnJ)
|
||||||
|
|
||||||
|
## Constructor Chaining
|
||||||
|
|
||||||
|
A chaining constructor is when a constructor calls another constructor from the same class.It can be used for multiple ways to create one Object which can be useful.
|
||||||
|
|
||||||
|
```Java
|
||||||
|
class Number {
|
||||||
|
|
||||||
|
int number;
|
||||||
|
|
||||||
|
// Constructor 1
|
||||||
|
public Number(int number) {
|
||||||
|
this.number = number;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Chained Construction(Constructor 2)
|
||||||
|
public Number(int number1, int number2) {
|
||||||
|
//Calls the Constructor 1
|
||||||
|
this(number1+number2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Chained Construction(Constructor 3)
|
||||||
|
public Number(int number1, float floatNumber) {
|
||||||
|
//Calls the Constructor 2
|
||||||
|
this(number1, (int) floatNumber*3);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
#### More Information:
|
#### More Information:
|
||||||
- [Oracle Java Docs :Constructor Declarations](https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.8)
|
- [Oracle Java Docs :Constructor Declarations](https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.8)
|
||||||
|
Reference in New Issue
Block a user