$show=/label

Variable Types in Java

SHARE:

Variable Types in Java Variable is an prominent in Java programming language. No class is in Java api has developed without variable. So ...

Variable Types in Java

Variable is an prominent in Java programming language. No class is in Java api has developed without variable. So we can understand the significance of Variables and its types.
Variable is a name to hold the values in the memory and how to handle the data operations.

Variable Types:

Following are the variable types.

1) Local variable
2) Instance variable
3) Class variable or Static variable


Variable Types in Java



Below example is from Java api class "CleanupThread" and it has several variables. We will discuss about this at end of this tutorial. We will see first all types of variables.


 

class CleanupThread
  extends Thread
{
  private ArrayList nonJarItemRemovalList = new ArrayList();
  private ArrayList jarItemRemovalList = new ArrayList();
  private ArrayList loadedResourceList = new ArrayList();
  private static final double CACHE_THRESHOLD_PERCENT = 0.98D;
  private final Object syncObject;
  private final long currentCacheMaxSize = Config.getCacheSizeMax();
  private volatile long currentCacheSize = 0L;
  private boolean initCacheSize = true;
  private static final long BUSY_STALE_LIMIT = 3600000L;
  
  CleanupThread(String paramString, Object paramObject)
  {
    super(paramString);
    setDaemon(true);
    this.syncObject = paramObject;
  }
}

different types of Variables in Java

1) Local variables:


Local variables represent which has limited scope to particular area. These will be created upon method invocation and destroyed when exists.

Case a : Local variable can be applied in methods, constructors and normal blocks.

package com.java.w3schools.core.variables.local;

public class LocalVariablesA {

 public LocalVariablesA(int constructorLocalVariable) {

  constructorLocalVariable = constructorLocalVariable + 10;

  System.out

    .println("methodLocalVariable :: " + constructorLocalVariable);

 }

 {

  int blockVariable = 2;

  System.out.println("blockVariable :: " + blockVariable);

 }

 public void methodVarable() {

  int methodVariable = 3;

  // System.out.println("inside method blockVariable :: "+blockVariable);

  // Here we get compile time error(blockVariable cannot be resolved

  // to a variable)

  System.out.println("methodVariable :: " + methodVariable);

 }

 public static void main(String[] args) {

  LocalVariablesA a = new LocalVariablesA(10);

  a.methodVarable();

 }

}



Output :

blockVariable :: 2
methodLocalVariable :: 20
methodVariable :: 3

Case b: Access modifiers can not be applied on local variables

package com.java.w3schools.core.variables.local;

public class LocalVariableB {

 public void methodLocalB(){


  public int height = 100; // compile time error

 }

}


Error: Illegal modifier for parameter height.


case c: Local variable should be initialized before using them

package com.java.w3schools.core.variables.local;

public class LocalVariableB {

 public void methodLocalB() {

  int height;


  System.out.println(height); // Compile time error

 }

}



Error : The local variable height may not have been initialized

Instance Variable:

Instance variables are declared in class, all instance variables are accessible in any method or constructor or block of class.

These are initialized when object is created for class. Each object of class will have separate copy of instance variable in heap memory.

Access modifiers can be applied on instance variables.

These are initialized to default values by default. Eg. if int is to "0", String to null, etc..

Case d:
 

package com.java.w3schools.core.variables.instance;

public class Student {

 public int studentId;

 public String name;

 public int age;

 // here we have created three instance variable. All these can be accesible

 // in all methods of this class.

 public int getStudentId() {

  return studentId;

 }

 public void setStudentId(int studentId) {

  this.studentId = studentId;

 }

 public String getName() {

  return name;

 }

 public void setName(String name) {

  this.name = name;

 }

 public int getAge() {

  return age;

 }

 public void setAge(int age) {

  this.age = age;

 }

}


Static or Class variables:


Variables are declared at class level with keyword "static" is called as Static variables.

Only static method can access static variables whereas non static can not access them. But constructor can access static variables.

These variables are not eligible for Garbage collection.

If we create 100 objects for a class, all objects will share a common allocated memory. If one object has changed value of it than all objects will have updated value.

Refer Complete discussion on Static methods in Java.


Case e:
 

package com.java.w3schools.core.variables.statics;

public class Student {

 public String studentName;

 public static String schoolName; // Static variable


 public Student(String name, String studentSchoolName) {

  studentName = name;

  schoolName = studentSchoolName;

 }

 public String getStudentName() {

  return studentName;

 }

 public void setStudentName(String studentName) {

  this.studentName = studentName;

 }

 public String getSchoolName() {

  return schoolName;

 }

 public void setSchoolName(String schoolName) {

  this.schoolName = schoolName;

 }

}


 

package com.java.w3schools.core.variables.statics;

public class StudentMain {

 public static void main(String[] args) {

  // TODO Auto-generated method stub

  Student student1 = new Student("Paul", "George School");

  Student student2 = new Student("Peter", "George School");


  System.out.println("Before update.. student1 school name :: "+student1.getSchoolName());

  System.out.println("Before update.. student2 school name :: "+student2.getSchoolName());


  student2.setSchoolName("Oxford");


  System.out.println("------------------------------------------------------------------");

  System.out.println("After update.. student1 school name :: "+student1.getSchoolName());

  System.out.println("After update.. student2 school name :: "+student2.getSchoolName());


 }

}




Output :

Before update.. student1 school name :: George School
Before update.. student2 school name :: George School
------------------------------------------------------------------
After update.. student1 school name :: Oxford
After update.. student2 school name :: Oxford


Here, we have updated school name to only student2. But in the output student1 also has updated to new values. Static variables shares common memory for all instances of the class.

Java api class:

 

class CleanupThread
  extends Thread
{
  private ArrayList nonJarItemRemovalList = new ArrayList(); // instance variable
  private ArrayList jarItemRemovalList = new ArrayList();
  private ArrayList loadedResourceList = new ArrayList();
  private static final double CACHE_THRESHOLD_PERCENT = 0.98D; // static variable
  private final Object syncObject;
  private final long currentCacheMaxSize = Config.getCacheSizeMax();
  private volatile long currentCacheSize = 0L;
  private boolean initCacheSize = true;
  private static final long BUSY_STALE_LIMIT = 3600000L;
  
  CleanupThread(String paramString, Object paramObject)
  {
  // paramString is local variable
    super(paramString);
    setDaemon(true);
    this.syncObject = paramObject;
  }
}



COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,31,ArrayList,16,Arrays,2,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,4,Collections,20,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,5,Core Java,71,Corona India,1,Create,2,CSS,1,Date,2,Date Time API,3,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,2,Fast,1,Files,9,Float,1,Font,1,For examples,1,For loop examples,1,For Loop in Java,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HTML,2,HttpClient,2,Immutable,1,Inner for loops,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,28,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,java 5 For loop,1,Java 8,47,Java 9,1,Java Design Patterns,1,Java Files,1,Java for loop,1,Java Program,2,Java Programs,65,java.lang,5,java.util. function,1,jQuery,1,Kotlin,10,Kotlin Programs,6,Lambda,1,lang,29,Leap Year,1,live updates,1,Math,1,Maven,1,Method References,1,Mockito,1,MongoDB,3,Nested for loop,1,Nested for loop examples,1,New Features,1,Operations,1,Optional,4,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,1,Softwares,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Stream,2,Streams,11,String,48,String Programs,8,String Revese,1,Swing,1,System,1,Tags,1,Threads,7,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,2,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Variable Types in Java
Variable Types in Java
https://2.bp.blogspot.com/-YVELn5UXsDk/XKc4MCx_yLI/AAAAAAAABM8/3UH7DtqPl94ry38UqjEJwk1b3Nlmf504gCLcBGAs/s400/Variable%2BTypes%2Bin%2BJava.PNG
https://2.bp.blogspot.com/-YVELn5UXsDk/XKc4MCx_yLI/AAAAAAAABM8/3UH7DtqPl94ry38UqjEJwk1b3Nlmf504gCLcBGAs/s72-c/Variable%2BTypes%2Bin%2BJava.PNG
JavaProgramTo.com
https://www.javaprogramto.com/2015/04/variable-types-in-java.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2015/04/variable-types-in-java.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content