Home » Kotlin

How to create static variables and methods in Kotlin?

In this article, we are going to learn how to create static variable and methods in Kotlin? Here is an example: program to count number of objects of a class.
Submitted by Aman Gautam, on January 29, 2018

Static members are those which are independent of the objects. They are associated with the class not with any particular object. There will be only single copy of static members whether any number of objects are created. So in this article we will learn how to create static members in kotlin.

In java, we create static member as:

class statik{
	static intcount;
		//constructor
		statik(){
		count++;
	}
	static voidgetCount(){
		System.out.println("No. of objects="+count);
	}
}
public class ExStatic{
	public static void main(String[] args) {
		//object 1
		new statik(); 
		// object 2
		new statik();   
		//method called using class name
		statik.getCount();    
	}
}

Output

No. of objects=2

In kotlin we will use companion object to create static members of the class.

An object declaration inside a class can be marked with the companion keyword. Members of the companion object can be called by using simply the class name,

companion object {
	var count:Int=0;
}

This is similar to

static int count;

Consider this program in which we have created a variable count and a method getcount() inside companion object block, which works similar to java program written above.

class statik{
	companion object {
		// static count 
		var count:Int=0;
		// ataticgetCount()
		fun getCount(){
			print("No. of objects="+count)
		}
	}
	//constructor
	constructor(){
		count++
	}
}

fun main(args: Array<String>) {
	//object 1
	statik()      
	// object 2
	statik()	
	//method called using class name
	statik.getCount()
}

Output

No. of objects=2






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.