There are three main access modifiers available in java.
- Private
- Protected
- Public
Private Access Modifier
- Private access modifier restricts the accessibility to the class level.
- It can be applied to member variables and methods.(both static and instance)
- Constructors can be modified with private.
- Classes can NOT be applied with private.
- Method local variables can NOT be modified with private.
- Private variables and methods do NOT inherit to sub classes.
- Protected modifier is visible to all the class in the same package and to the sub classes outside the package.(Package+Kids)
- Can be applied to variables(static/instance) and methods (static/instance)
- Constructors can be modified with protected.
- Can NOT be applied to top level classes.
- Can NOT be applied to method local variables.
- Accessing a protected member in a different package can be done only through inheritance.
- abstract
- final
- strictfp
- "abstract" class can NOT instantiate (can not create objects out of abstract classes)
- Only classes and methods can be marked as abstract.
- "abstract" methods do not have a body.
- If a class has one or more abstract methods that class MUST be abstract.
- "abstract" class can have both abstract and non abstract methods.
- Even without a single abstract method, class can be marked as abstract.
{
void m(){}
void m(){}
}
- When an abstract method inherited down we must OVERRIDE the abstract method in the first concrete (non abstract) subclass. If not CE(Compile Error).
No comments:
Post a Comment