Task 11
Tags: java, testing, agile, webdev
Published: 2024-04-14 10:41:50

## QUE 1 : Access modifiers in java


Access modifiers in Java are keywords used for controlling the use of the methods, constructors, variables, and Classes.
There are four main types of access modifiers,

- Public
- Protected
- Default
- Private

**PUBLIC**

The public access modifier has the widest scope among all other access modifiers. Public access modifier allows members (classes, methods, and variables) to be accessed from any other class, Inside and Outside the package

- A public class can be accessed from any other class, Inside and Outside the package
- A public method can be accessed from any other class, Inside and Outside the package
- A public variable can be accessed from any other class, Inside and Outside the package

**PROTECTED**

The protected access modifier is specified using the keyword protected. The protected access modifier allows members to be accessed within the same package or by subclasses in a different package.

- A protected class is not allowed in Java.
- A protected method can be accessed within the same package or by subclasses in a different package.
- A protected variable can be accessed within the same package or by subclasses in a different package.

**DEFAULT**

When no access modifier is specified for a class, method, or data member – It is said to be having the default access modifier by default. The default (no modifier) access modifier allows members to be accessed within the same package only.

- A class with default access modifier is only accessible within the same package.
- A method with default access modifier is only accessible within the same package.
- A variable with default access modifier is only accessible within the same package.

**PRIVATE**

The private access modifier is specified using the keyword private. The private access modifier restricts access to members to within the same class only.

- A private class is not allowed in Java.
- A private method can only be accessed within the same class.
- A private variable can only be accessed within the same class.

================================================================================================================

## QUE 2 Difference Between Exception and Error


<u>Exception</u> can be recovered by using try-catch block.
<u>Error</u> cannot be recovered by using try-catch block.

<u>Exception</u> is classified into two types: 
- Checked exceptions 
- Unchecked exceptions

<u>Error</u> is classified into two types: 
- Fatal errors 
- Non-fatal errors.

<u>Exception</u> occurs during the execution of a program, that disrupts the normal flow of the program's instructions.
<u>Error</u> is a serious problem that occurs during the execution of a program, that disrupts the normal flow of the program's instructions.

=============================================================================================================

## QUE 3 Difference Checked Exception and Unchecked Exception

**Checked Exceptions**

These are the exceptions that are checked at compile time. If some code within a method throws a checked exception, then the method must either handle the exception or it must specify the exception using the throws keyword. 
Ex:  ClassNotFoundException, IOException, SQLException and InterruptedException.

**UnChecked Exceptions**

Unchecked exceptions are runtime exceptions that are not required to be caught or declared in a throws clause. These exceptions are usually caused by programming errors, such as attempting to access an index out of bounds in an array or attempting to divide by zero.
Ex: ArrayIndexOutOfBoundsException,ArithmeticException, NullPointerException. IllegalThreadStateException.

## QUE 4,5,6,7 & 8. Coding part in below in GIT Repository
https://github.com/Hameed1206/Task11ExceptionHandling