Class (static) Variables and Methods

Python Java
Class variables name data that are shared by all instances of a class.A class variable is introduced by a simple assignment statement within a class.

Class variable references are always prefixed with the name of the class.

Class variables are spelled in uppercase by convention.

Example:

class Student:
 
    NUM_GRADES = 5
 
    def __init__(self, name):
        self.name = name
        self.grades = []
        for i in range(Student.NUM_GRADES):
            self.grades.append(0)

Other usage:

print Student.NUM_GRADES

Class methods are methods that know nothing about instances of a class, but can access class variables and call other class methods for various purposes.  For example, a method to convert a numeric grade to a letter grade might be defined as a class method in the Student class.

Class method calls are always prefixed with the name of the class.

Example:
class Student:

    # Instance method definitions
 
@classmethod
    def getLetterGrade(cls, grade):
        if grade > 89:
            return ‘A’
        elif grade > 79:
            return ‘B’
        else:
            return ‘F’

Usage:

s = Student()
for i in range(1, Student.NUM_GRADES + 1):
    print Student.getLetterGrade(s.getGrade(i))

Class variables name data that are shared by all instances of a class.

A class variable declaration is qualified by the reserved word static.

Outside of the class definition, class variable references are prefixed with the name of the class.

Class variables are spelled in uppercase by convention.

Example:

public class Student{
 
    public static final int NUM_GRADES = 5;
 
    private String name;
    private int[] grades;
 
    public Student(String name){
        this.name = name;
        this.grades = new int[NUM_GRADES];
    }
}

Other usage:

System.out.println(Student.NUM_GRADES);

Class methods are methods that know nothing about instances of a class, but can access class variables and call other class methods for various purposes.  For example, a method to convert a numeric grade to a letter grade might be defined as a class method in the Student class.

A class method header is qualified by the reserved word static.

Outside of the class definition, class method calls are prefixed with the name of the class.

Example:

public class Student{
    // Instance method definitions and variable declarations

    public static char getLetterGrade(int grade){
        if (grade > 89)
            return ‘A’;
        else if (grade > 79)
            return ‘B’;
        else
            return ‘F’;

Usage:

s = new Student();
for (int i = 1; i <= Student.NUM_GRADES; i++)
    System.out.println(Student.getLetterGrade(s.getGrade(i));

© Ken Lambert. All rights reserved.