SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados (20)

Java awt (abstract window toolkit)
Java awt (abstract window toolkit)Java awt (abstract window toolkit)
Java awt (abstract window toolkit)
 
Java-java virtual machine
Java-java virtual machineJava-java virtual machine
Java-java virtual machine
 
JDBC: java DataBase connectivity
JDBC: java DataBase connectivityJDBC: java DataBase connectivity
JDBC: java DataBase connectivity
 
Method overloading
Method overloadingMethod overloading
Method overloading
 
Command line-arguments-in-java-tutorial
Command line-arguments-in-java-tutorialCommand line-arguments-in-java-tutorial
Command line-arguments-in-java-tutorial
 
Java exception
Java exception Java exception
Java exception
 
MULTI THREADING IN JAVA
MULTI THREADING IN JAVAMULTI THREADING IN JAVA
MULTI THREADING IN JAVA
 
Java Applet
Java AppletJava Applet
Java Applet
 
Inheritance C#
Inheritance C#Inheritance C#
Inheritance C#
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
java interface and packages
java interface and packagesjava interface and packages
java interface and packages
 
Method overriding
Method overridingMethod overriding
Method overriding
 
Applets in java
Applets in javaApplets in java
Applets in java
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
 
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
 
6. static keyword
6. static keyword6. static keyword
6. static keyword
 
Java static keyword
Java static keywordJava static keyword
Java static keyword
 
Java Thread Synchronization
Java Thread SynchronizationJava Thread Synchronization
Java Thread Synchronization
 
Applets
AppletsApplets
Applets
 
Java thread life cycle
Java thread life cycleJava thread life cycle
Java thread life cycle
 

Destaque

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
 

Destaque (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
 
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
 
Новое в Symfony 2.6
Новое в Symfony 2.6Новое в Symfony 2.6
Новое в Symfony 2.6
 

Semelhante a 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
 

Semelhante a 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 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 basics notes
Java basics notesJava basics notes
Java basics notes
 
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
 

Último

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

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