3. final
⢠final can be applied for classes, methods,
instance variables, local variables.
⢠A class marked as final cannot be extended.
⢠A method marked with final cannot be
overridden.
⢠A primitive data type or an object reference
will not change its value or object when
marked final.
www.JAVA9S.com
4. static
public class Ford{
int maxSpeed;
public Ford(int maxSpeed){ Ford f = new Ford(100);
this.maxSpeed = maxSpeed;
}
Ford a = new Ford(200);
public void move(){ Ford e = new Ford(150);
int speed = 0;
while(speed<maxSpeed){
System.out.println(âRacing with speedâ+speed);
speed++;
} function
f.move();
} of method
a.move();
public void printCarInfo(){ e.move(); varies from Object
System.out.println(âCar name : Fordâ); to object
System.out.println(â Car weight : 230â);
f.printCarInfo();
System.out.println(âEngine Capacity: 3000ccâ);
a.printCarInfo(); Same output
}
e.printCarInfo();
}
www.JAVA9S.com
5. static
Virtual Memory
.Class File
Members marked as static belong to the Class file and
not the instances
www.JAVA9S.com
6. static
⢠static can be applied for methods and
variables.
⢠A method or variable marked as static
belongs to class file.
⢠A static member should be accessed using
the class name.
www.JAVA9S.com
7. Accessing static members
⢠static members can be accessed using the
class name.
E.g.,
public class Ford{
public static void printCarInfo(){
System.out.println(âCar name : Fordâ);
System.out.println(â Car weight : 230â);
System.out.println(âEngine Capacity: 3000ccâ);
}
}
Ford.printCarInfo();
www.JAVA9S.com
8. Accessing static members
public class Ford{
public static void printCarInfo(){
System.out.println(âCar name : Fordâ);
System.out.println(â Car weight : 230â);
System.out.println(âEngine Capacity: 3000ccâ);
}
}
public class FordShowRoom(){
public class FordShowRoom(){
public void getCarInfo(){
public void getCarInfo(){
Ford f = new Ford();
Ford.printCarInfo();
f.printCarInfo();
}
}
}
}
www.JAVA9S.com
9. static - rules
⢠The static variable and static methods are called
class members.
⢠A method marked as static can only access other
static methods and variables directly.
⢠To access the instance variables and methods, a
static method should have an instance on which
the object members should be invoked.
⢠Any instance can access the static variables and
can change them. But, the changes will reflect
for all the objects.
⢠Members marked as static can be final
www.JAVA9S.com
12. abstract
public class Car{
public void move(){
System.out.println(âMoves at max 40 kmphâ);
}
}
Benz
Ford
BMW
Ferrari
Toyota
www.JAVA9S.com
13. abstract
public abstract class Car{
public abstract void move();
}
public class Ford extends Car{
public void move(){
System.out.println(âMove at 120 kmphâ);
}
}
public class Benz extends Car{
public void move(){
System.out.println(âMove at 200 kmph â Comfortably â);
}
}
www.JAVA9S.com
14. abstract - rules
⢠abstract can be applied for classes and
methods only.
⢠When a method is marked as abstract â It
should not have implementation.
E.g., public abstract void move();
⢠Abstract methods should end with â;â and not
with â{ }â.
www.JAVA9S.com
15. abstract - Rules
⢠When a method marked as abstract, the
whole class should be marked as abstract.
⢠A class can be abstract with out any abstract
methods in it.
⢠We cannot create an instance of abstract
class.
⢠An abstract method should be overridden in
the subclass or should be marked as abstract.
www.JAVA9S.com
16. abstract - rules
⢠Abstract classes can have concrete(non-
abstract) methods in it.
⢠Abstract methods cannot be marked as final.
⢠Abstract classes cannot be marked as final.
⢠Abstract methods cannot be static.
⢠Abstract methods cannot be private
www.JAVA9S.com
17. abstract - rules
⢠Cannot create an instance of abstract
class???
â An abstract class can contain abstract methods
which does not have functionality and if we can
create objects, we do not have functionality in
abstract methods.
â So, abstract classes are incomplete and are not
eligible for creating instances.
www.JAVA9S.com
18. strictfp
⢠strictfp can only be declared for methods and
classes.
⢠When declared, the code inside a class or
method will conform to IEEE754 standard
which makes the methods or classes behave
in a platform independent way regarding the
floating points.
⢠strictfp cannot be used with abstract.
www.JAVA9S.com
19. native
⢠native modifier can only be applied to
methods.
⢠A native method will always have platform
dependent code like C.
⢠A native method should not have the
implementation and should end with â;â.
⢠A native methods implementation is
omitted.
www.JAVA9S.com
20. synchronized
⢠synchronized can only be applied for
methods.
⢠Any method or block that is synchronized will
only allow one single thread to execute the
code at a given time.
⢠synchronized can be used with any access
modifier.
www.JAVA9S.com
21. transient
⢠only instance variables can be marked as
transient.
⢠A variable marked as transient will not be
serialized.
volatile
⢠volatile can only be applied to instance
variables
www.JAVA9S.com
22. Access and non access modifiers -
classes
⢠public
⢠default
⢠abstract
⢠strictfp
⢠final
www.JAVA9S.com
23. Access and non access modifiers-
variables and members
Methods Instance variables Local variables
public public -
protected protected -
default default -
private private -
static static -
final final final
strictfp - -
native - -
- transient -
synchronized - -
abstract - -
www.JAVA9S.com
24. Thank you
Follow me on to get more updates on latest video posts
Subscribe on
http://www.youtube.com/user/java9s
Twitter : @java9s
facebook: www.facebook.com/java9s
www.JAVA9S.com