Movatterモバイル変換


[0]ホーム

URL:


Menu
×
See More 
Sign In
+1 Get Certified Upgrade For Teachers Spaces Get Certified Upgrade For Teachers Spaces
   ❮     
     ❯   

Java Tutorial

Java HOMEJava IntroJava Get StartedJava SyntaxJava OutputJava CommentsJava VariablesJava Data TypesJava Type CastingJava OperatorsJava StringsJava MathJava BooleansJava If...ElseJava SwitchJava While LoopJava For LoopJava Break/ContinueJava Arrays

Java Methods

Java MethodsJava Method ParametersJava Method OverloadingJava ScopeJava Recursion

Java Classes

Java OOPJava Classes/ObjectsJava Class AttributesJava Class MethodsJava ConstructorsJava this KeywordJava ModifiersJava EncapsulationJava Packages / APIJava InheritanceJava PolymorphismJava super KeywordJava Inner ClassesJava AbstractionJava InterfaceJava AnonymousJava EnumJava User InputJava Date

Java Errors

Java ErrorsJava DebuggingJava ExceptionsJava Multiple ExceptionsJava try-with-resources

Java File Handling

Java FilesJava Create FilesJava Write FilesJava Read FilesJava Delete Files

Java I/O Streams

Java I/O StreamsJava FileInputStreamJava FileOutputStreamJava BufferedReaderJava BufferedWriter

Java Data Structures

Java Data StructuresJava CollectionsJava ListJava ArrayListJava LinkedListJava List SortingJava SetJava HashSetJava TreeSetJava LinkedHashSetJava MapJava HashMapJava TreeMapJava LinkedHashMapJava IteratorJava Algorithms

Java Advanced

Java Wrapper ClassesJava GenericsJava AnnotationsJava RegExJava ThreadsJava LambdaJava Advanced Sorting

Java Projects

Java Projects

Java How To's

Java How Tos

Java Reference

Java ReferenceJava KeywordsJava String MethodsJava Math MethodsJava Output MethodsJava Arrays MethodsJava ArrayList MethodsJava LinkedList MethodsJava HashMap MethodsJava Scanner MethodsJava File MethodsJava FileInputStreamJava FileOutputStreamJava BufferedReaderJava BufferedWriterJava Iterator MethodsJava Collections MethodsJava System MethodsJava Errors & Exceptions

Java Examples

Java ExamplesJava CompilerJava ExercisesJava QuizJava ServerJava SyllabusJava Study PlanJava Interview Q&AJava Certificate


JavaNon-Access Modifiers


Non-Access Modifiers

Non-access modifiers do not control visibility (likepublic orprivate), but instead addother features to classes, methods, and attributes.

The most commonly used non-access modifiers arefinal,static, andabstract.


Final

If you don't want the ability to override existing attribute values, declare attributes asfinal:

Example

public class Main { final int x = 10; final double PI = 3.14;  public static void main(String[] args) {    Main myObj = new Main();    myObj.x = 50; // will generate an error: cannot assign a value to afinal variable    myObj.PI = 25; // will generate an error: cannot assign a value to afinal variable    System.out.println(myObj.x);  }}

Try it Yourself »


Static

Astatic method belongs to the class, not to any specific object. This means you can call it without creating an object of the class.

Example

A simple example showing how to call astatic method directly:

public class Main {  // Static method  static void myStaticMethod() {    System.out.println("Static methods can be called without creating objects");  }  // Main method  public static void main(String[] args) {    myStaticMethod();         // Call the static method    Main.myStaticMethod();    // Or call it using the class name  }}

Try it Yourself »

Note: Astatic method belongs to the class itself. You can call it without creating an object, but it cannot use variables or methods that belong to an object.


Abstract

Anabstract method belongs to anabstract class, and it does not have a body. The body is provided by the subclass:

// abstract class
abstract class Main {  public String fname = "John";  public int age = 24;  publicabstract void study(); // abstract method}// Subclass (inherit from Main)class Student extends Main {  public int graduationYear = 2018;  public void study() { // the body of the abstract method is provided here    System.out.println("Studying all day long");  }}
// Code from filename: Second.javaclass Second {  public static void main(String[] args) {    // create an object of the Student class (which inherits attributes and methods from Main)    Student myObj = new Student();    System.out.println("Name: " + myObj.fname);    System.out.println("Age: " + myObj.age);    System.out.println("Graduation Year: " + myObj.graduationYear);    myObj.study(); // call abstract method
  }}

Try it Yourself »


Non-Access Modifiers List

Forclasses, you can use eitherfinal orabstract:

ModifierDescriptionTry it
finalThe class cannot be inherited by other classes (You will learn more about inheritance in theInheritance chapter)Try it »
abstractThe class cannot be used to create objects (To access an abstract class, it must be inherited from another class. You will learn more about inheritance and abstraction in theInheritance andAbstraction chapters)Try it »

Forattributes and methods, you can use the one of the following:

ModifierDescription
finalAttributes and methods cannot be overridden/modified
staticAttributes and methods belong to the class, not to objects. This means all objects share the samestatic attribute, andstatic methods can be called without creating objects.
abstractCan only be used in an abstract class, and can only be used on methods. The method does not have a body, for exampleabstract void run();. The body is provided by the subclass (inherited from). You will learn more about inheritance and abstraction in theInheritance andAbstraction chapters
transientAttributes and methods are skipped when serializing the object containing them
synchronizedMethods can only be accessed by one thread at a time
volatileThe value of an attribute is not cached thread-locally, and is always read from the "main memory"



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted ourterms of use,cookies andprivacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved.W3Schools is Powered by W3.CSS.


[8]ページ先頭

©2009-2025 Movatter.jp