SlideShare ist ein Scribd-Unternehmen logo
1 von 24
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

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Method overriding
Method overridingMethod overriding
Method overriding
 
Interface in java
Interface in javaInterface in java
Interface in java
 
Exception Handling in JAVA
Exception Handling in JAVAException Handling in JAVA
Exception Handling in JAVA
 
Java threads
Java threadsJava threads
Java threads
 
Servlet and servlet life cycle
Servlet and servlet life cycleServlet and servlet life cycle
Servlet and servlet life cycle
 
Java Beans
Java BeansJava Beans
Java Beans
 
Java Applet
Java AppletJava Applet
Java Applet
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Introduction to Java Strings, By Kavita Ganesan
Introduction to Java Strings, By Kavita GanesanIntroduction to Java Strings, By Kavita Ganesan
Introduction to Java Strings, By Kavita Ganesan
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Polymorphism In Java
Polymorphism In JavaPolymorphism In Java
Polymorphism In Java
 
Applet life cycle
Applet life cycleApplet life cycle
Applet life cycle
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
 
Method overloading
Method overloadingMethod overloading
Method overloading
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Inheritance ppt
Inheritance pptInheritance ppt
Inheritance ppt
 
Inheritance
InheritanceInheritance
Inheritance
 
Java - Exception Handling
Java - Exception HandlingJava - Exception Handling
Java - Exception Handling
 
itft-Decision making and branching in java
itft-Decision making and branching in javaitft-Decision making and branching in java
itft-Decision making and branching in java
 
List in java
List in javaList in java
List in java
 

Andere mochten auch

Brian Mork - DC214 October 2015 - ECB Sucks
Brian Mork - DC214 October 2015 - ECB SucksBrian Mork - DC214 October 2015 - ECB Sucks
Brian Mork - DC214 October 2015 - ECB SucksNothing Nowhere
 
Object-Oriented Programming 4
Object-Oriented Programming 4Object-Oriented Programming 4
Object-Oriented Programming 4Warawut
 
Eo gaddis java_chapter_03_5e
Eo gaddis java_chapter_03_5eEo gaddis java_chapter_03_5e
Eo gaddis java_chapter_03_5eGina Bullock
 
Internship in-chennai-for-it-template-designing
Internship in-chennai-for-it-template-designingInternship in-chennai-for-it-template-designing
Internship in-chennai-for-it-template-designingbhavna_chandar
 
Java se 8 fundamentals
Java se 8 fundamentalsJava se 8 fundamentals
Java se 8 fundamentalsmegharajk
 
Visibility control in java
Visibility control in javaVisibility control in java
Visibility control in javaTech_MX
 
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 ExamsCracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 ExamsGanesh Samarthyam
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Javabackdoor
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with JavaJussi Pohjolainen
 

Andere mochten auch (20)

Brian Mork - DC214 October 2015 - ECB Sucks
Brian Mork - DC214 October 2015 - ECB SucksBrian Mork - DC214 October 2015 - ECB Sucks
Brian Mork - DC214 October 2015 - ECB Sucks
 
Java02
Java02Java02
Java02
 
Object-Oriented Programming 4
Object-Oriented Programming 4Object-Oriented Programming 4
Object-Oriented Programming 4
 
access modifiers
access modifiersaccess modifiers
access modifiers
 
Eo gaddis java_chapter_03_5e
Eo gaddis java_chapter_03_5eEo gaddis java_chapter_03_5e
Eo gaddis java_chapter_03_5e
 
Internship in-chennai-for-it-template-designing
Internship in-chennai-for-it-template-designingInternship in-chennai-for-it-template-designing
Internship in-chennai-for-it-template-designing
 
Lecture 8 Library classes
Lecture 8 Library classesLecture 8 Library classes
Lecture 8 Library classes
 
Java se 8 fundamentals
Java se 8 fundamentalsJava se 8 fundamentals
Java se 8 fundamentals
 
Visibility control in java
Visibility control in javaVisibility control in java
Visibility control in java
 
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
 
Access modifiers in java
Access modifiers in javaAccess modifiers in java
Access modifiers in java
 
Java Class Design
Java Class DesignJava Class Design
Java Class Design
 
Inheritance and Polymorphism
Inheritance and PolymorphismInheritance and Polymorphism
Inheritance and Polymorphism
 
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 ExamsCracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 Exams
 
Sailing with Java 8 Streams
Sailing with Java 8 StreamsSailing with Java 8 Streams
Sailing with Java 8 Streams
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Advance Java
Advance JavaAdvance Java
Advance Java
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Java basic
Java basicJava basic
Java basic
 
Java Modifiers Matrix
Java Modifiers MatrixJava Modifiers Matrix
Java Modifiers Matrix
 

Ähnlich wie Java non access modifiers

Java Classes methods and inheritance
Java Classes methods and inheritanceJava Classes methods and inheritance
Java Classes methods and inheritanceSrinivas Reddy
 
OOP with Java - Part 3
OOP with Java - Part 3OOP with Java - Part 3
OOP with Java - Part 3RatnaJava
 
OOP with Java - Part 3
OOP with Java - Part 3OOP with Java - Part 3
OOP with Java - Part 3Hitesh-Java
 
Session 09 - OOP with Java - Part 3
Session 09 - OOP with Java - Part 3Session 09 - OOP with Java - Part 3
Session 09 - OOP with Java - Part 3PawanMM
 
Xopus Application Framework
Xopus Application FrameworkXopus Application Framework
Xopus Application FrameworkJady Yang
 
04 Java Language And OOP Part IV
04 Java Language And OOP Part IV04 Java Language And OOP Part IV
04 Java Language And OOP Part IVHari Christian
 
Java For beginners and CSIT and IT students
Java  For beginners and CSIT and IT studentsJava  For beginners and CSIT and IT students
Java For beginners and CSIT and IT studentsPartnered Health
 
3java Advanced Oop
3java Advanced Oop3java Advanced Oop
3java Advanced OopAdil Jafri
 
PROGRAMMING IN JAVA- unit 4-part I
PROGRAMMING IN JAVA- unit 4-part IPROGRAMMING IN JAVA- unit 4-part I
PROGRAMMING IN JAVA- unit 4-part ISivaSankari36
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationAjax Experience 2009
 
New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)jeresig
 
6applets And Graphics
6applets And Graphics6applets And Graphics
6applets And GraphicsAdil Jafri
 
Java basics notes
Java basics notesJava basics notes
Java basics notesNexus
 
java programming - applets
java programming - appletsjava programming - applets
java programming - appletsHarshithaAllu
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web FrameworkDaniel Woods
 
(5) c sharp introduction_object_orientation_part_ii
(5) c sharp introduction_object_orientation_part_ii(5) c sharp introduction_object_orientation_part_ii
(5) c sharp introduction_object_orientation_part_iiNico Ludwig
 
Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov
Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov
Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov Nayden Gochev
 

Ähnlich wie Java non access modifiers (20)

Java Classes methods and inheritance
Java Classes methods and inheritanceJava Classes methods and inheritance
Java Classes methods and inheritance
 
OOP with Java - Part 3
OOP with Java - Part 3OOP with Java - Part 3
OOP with Java - Part 3
 
OOP with Java - Part 3
OOP with Java - Part 3OOP with Java - Part 3
OOP with Java - Part 3
 
Session 09 - OOP with Java - Part 3
Session 09 - OOP with Java - Part 3Session 09 - OOP with Java - Part 3
Session 09 - OOP with Java - Part 3
 
Xopus Application Framework
Xopus Application FrameworkXopus Application Framework
Xopus Application Framework
 
04 Java Language And OOP Part IV
04 Java Language And OOP Part IV04 Java Language And OOP Part IV
04 Java Language And OOP Part IV
 
Java For beginners and CSIT and IT students
Java  For beginners and CSIT and IT studentsJava  For beginners and CSIT and IT students
Java For beginners and CSIT and IT students
 
3java Advanced Oop
3java Advanced Oop3java Advanced Oop
3java Advanced Oop
 
PROGRAMMING IN JAVA- unit 4-part I
PROGRAMMING IN JAVA- unit 4-part IPROGRAMMING IN JAVA- unit 4-part I
PROGRAMMING IN JAVA- unit 4-part I
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
 
Java basics notes
Java basics notesJava basics notes
Java basics notes
 
New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)
 
6applets And Graphics
6applets And Graphics6applets And Graphics
6applets And Graphics
 
Java basics notes
Java basics notesJava basics notes
Java basics notes
 
Java basics notes
Java basics notesJava basics notes
Java basics notes
 
Java programming basics notes for beginners(java programming tutorials)
Java programming basics notes for beginners(java programming tutorials)Java programming basics notes for beginners(java programming tutorials)
Java programming basics notes for beginners(java programming tutorials)
 
java programming - applets
java programming - appletsjava programming - applets
java programming - applets
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
 
(5) c sharp introduction_object_orientation_part_ii
(5) c sharp introduction_object_orientation_part_ii(5) c sharp introduction_object_orientation_part_ii
(5) c sharp introduction_object_orientation_part_ii
 
Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov
Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov
Lecture from javaday.bg by Nayden Gochev/ Ivan Ivanov and Mitia Alexandrov
 

Kürzlich hochgeladen

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...SOFTTECHHUB
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 

Kürzlich hochgeladen (20)

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 

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