SlideShare a Scribd company logo
Java Non Access Modifiers
            SCJP/OCJP exam objectives – 1.1,1.3,1.4




                                              By,
                                       Srinivas Reddy.S
www.JAVA9S.com
Non Access Modifiers
   •   final
   •   static
   •   abstract
   •   strictfp
   •   native
   •   synchronized
   •   transient
   •   volatile
www.JAVA9S.com
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
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
static




                                                            Virtual Memory




         .Class File
                       Members marked as static belong to the Class file and
                       not the instances

www.JAVA9S.com
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
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
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
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
static - example




www.JAVA9S.com
public static void main(String[] args){ }




www.JAVA9S.com
abstract
   public class Car{
     public void move(){
      System.out.println(“Moves at max 40 kmph”);
      }
   }

                     Benz
     Ford
                                               BMW
                                Ferrari


            Toyota




www.JAVA9S.com
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
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
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
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
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
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
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
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
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
Access and non access modifiers -
                classes
   •   public
   •   default
   •   abstract
   •   strictfp
   •   final




www.JAVA9S.com
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
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

More Related Content

PPTX
Java(Polymorphism)
PPTX
Super Keyword in Java.pptx
PPT
Final keyword in java
PPTX
JAVA AWT
PPTX
MULTI THREADING IN JAVA
PPTX
Method overloading
PDF
Javapolymorphism
PPTX
Java string handling
Java(Polymorphism)
Super Keyword in Java.pptx
Final keyword in java
JAVA AWT
MULTI THREADING IN JAVA
Method overloading
Javapolymorphism
Java string handling

What's hot (20)

PPT
Introduction to method overloading &amp; method overriding in java hdm
PPTX
Strings in Java
PPTX
Interface in java
PPTX
Java beans
PDF
Strings in java
PPTX
Methods in java
PPT
Java access modifiers
PPTX
Java Method, Static Block
PDF
Polymorphism in Java by Animesh Sarkar
PPTX
Java - Generic programming
PPT
Method overloading
PDF
Polymorphism In Java
PPTX
Applets in java
PPT
Applet life cycle
PPTX
INHERITANCE IN JAVA.pptx
PPTX
JAVA FEATURES
PPTX
Java literals
PPTX
Abstract Class & Abstract Method in Core Java
PPTX
Inheritance in c++
Introduction to method overloading &amp; method overriding in java hdm
Strings in Java
Interface in java
Java beans
Strings in java
Methods in java
Java access modifiers
Java Method, Static Block
Polymorphism in Java by Animesh Sarkar
Java - Generic programming
Method overloading
Polymorphism In Java
Applets in java
Applet life cycle
INHERITANCE IN JAVA.pptx
JAVA FEATURES
Java literals
Abstract Class & Abstract Method in Core Java
Inheritance in c++
Ad

Viewers also liked (20)

PDF
Brian Mork - DC214 October 2015 - ECB Sucks
PPT
PDF
Object-Oriented Programming 4
PPTX
access modifiers
PPT
Eo gaddis java_chapter_03_5e
DOCX
Internship in-chennai-for-it-template-designing
PDF
Lecture 8 Library classes
DOCX
Java se 8 fundamentals
PPTX
Visibility control in java
PDF
Access modifiers in java
PDF
Java Class Design
PPT
Inheritance and Polymorphism
PDF
Cracking OCA and OCP Java 8 Exams
PDF
Sailing with Java 8 Streams
PPT
Object Oriented Programming with Java
PPS
Advance Java
PPT
Object Oriented Programming with Java
PPT
Java basic
PDF
Java Modifiers Matrix
PDF
Новое в Symfony 2.6
Brian Mork - DC214 October 2015 - ECB Sucks
Object-Oriented Programming 4
access modifiers
Eo gaddis java_chapter_03_5e
Internship in-chennai-for-it-template-designing
Lecture 8 Library classes
Java se 8 fundamentals
Visibility control in java
Access modifiers in java
Java Class Design
Inheritance and Polymorphism
Cracking OCA and OCP Java 8 Exams
Sailing with Java 8 Streams
Object Oriented Programming with Java
Advance Java
Object Oriented Programming with Java
Java basic
Java Modifiers Matrix
Новое в Symfony 2.6
Ad

Similar to Java non access modifiers (20)

PPT
Java Classes methods and inheritance
PPTX
OOP with Java - Part 3
PPSX
OOP with Java - Part 3
PPTX
Session 09 - OOP with Java - Part 3
PDF
Xopus Application Framework
PPTX
04 Java Language And OOP Part IV
PPTX
Java For beginners and CSIT and IT students
PDF
3java Advanced Oop
PPTX
PROGRAMMING IN JAVA- unit 4-part I
PPT
Laurens Van Den Oever Xopus Presentation
PDF
Java basics notes
PDF
New Features Coming in Browsers (RIT '09)
PDF
6applets And Graphics
PDF
Java basics notes
PDF
Java basics notes
PDF
Java programming basics notes for beginners(java programming tutorials)
PPT
java programming - applets
PDF
ch02-Java Fundamentals-Java Fundamentals.pdf
PPT
Jacarashed-1746968053-300050282-Java.ppt
PDF
Ratpack Web Framework
Java Classes methods and inheritance
OOP with Java - Part 3
OOP with Java - Part 3
Session 09 - OOP with Java - Part 3
Xopus Application Framework
04 Java Language And OOP Part IV
Java For beginners and CSIT and IT students
3java Advanced Oop
PROGRAMMING IN JAVA- unit 4-part I
Laurens Van Den Oever Xopus Presentation
Java basics notes
New Features Coming in Browsers (RIT '09)
6applets And Graphics
Java basics notes
Java basics notes
Java programming basics notes for beginners(java programming tutorials)
java programming - applets
ch02-Java Fundamentals-Java Fundamentals.pdf
Jacarashed-1746968053-300050282-Java.ppt
Ratpack Web Framework

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Cloud computing and distributed systems.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Cloud computing and distributed systems.
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Chapter 3 Spatial Domain Image Processing.pdf
Review of recent advances in non-invasive hemoglobin estimation

Java non access modifiers

  • 1. Java Non Access Modifiers SCJP/OCJP exam objectives – 1.1,1.3,1.4 By, Srinivas Reddy.S www.JAVA9S.com
  • 2. Non Access Modifiers • final • static • abstract • strictfp • native • synchronized • transient • volatile www.JAVA9S.com
  • 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
  • 11. public static void main(String[] args){ } 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