`
默默的小熊
  • 浏览: 232908 次
社区版块
存档分类
最新评论

static修饰符

阅读更多

    Java中的静态变量、方法使用static关键字修饰,先来看一个简单的例子:

 

public class Student {

	private static int stuNum = 0;//静态变量

	private int stuId;

	private String stuName;

	public Student(String stuName) {

		this.stuName = stuName;
		this.stuId = Student.stuNum++;

	}

	public int getStuId() {
		return stuId;
	}

	public void setStuId(int stuId) {
		this.stuId = stuId;
	}

	public String getStuName() {
		return stuName;
	}

	public void setStuName(String stuName) {
		this.stuName = stuName;
	}

	public static int getStuNum() {//静态方法
		return stuNum;
	}

	public static void main(String[] args) {

		Student stu1 = new Student("A");
		Student stu2 = new Student("B");

		System.out.println("Student count: " + Student.getStuNum());//静态方法调用
		System.out.println("Id:" + stu1.getStuId() + "   Name:"  //实例对象方法调用
				+ stu1.getStuName());
		System.out.println("Id:" + stu2.getStuId() + "   Name:"
				+ stu2.getStuName());

	}

}

    1.静态变量、方法的定义

    可以看到静态变量、方法在定义时和普通的实例变量、方法没多大区别,唯一的不同就是在多了一个static修饰符。

 

private static int stuNum = 0;//静态变量

public static int getStuNum() {//静态方法
		return stuNum;
	}

 

    2.静态变量、方法的使用

    静态变量、方法调用格式是“类名.方法名”,而实例则是“对象名.方法名”。

 

		System.out.println("Student count: " + Student.getStuNum());//静态方法调用
		System.out.println("Id:" + stu1.getStuId() + "   Name:"  //实例对象方法调用
				+ stu1.getStuName());

    3.什么时候使用静态变量、方法

    静态方法通常被用于工具类、工厂模式中。如Math类,它是一个数学求值工具,其中包含了大量的静态方法,如:public static double sqrt(double a),使用如下,不需要创建对象实例:

 

System.out.println(Math.sqrt(9));

    4.在静态方法中尝试去访问实例变量或实例方法是不合法的。

 

public static int getStuNum() {//静态方法
		System.out.println(stuName);   //不合法,会报错
		return stuNum;
	}
 

 

 

 

 

  

 

分享到:
评论

相关推荐

    Java软件开发实战 Java基础与案例开发详解 6-5 static修饰符 共13页.pdf

    ### Java软件开发实战:Java基础与案例开发详解之Static修饰符 #### 6.5 Static修饰符 在Java中,`static`关键字用于声明与类而不是与实例相关的变量、方法或代码块。这一特性使得静态成员能够被类本身直接访问,...

    Java修饰符使用整理(含实例)

    非访问修饰符包括 final、static 和 abstract 三种,用于控制类、成员变量和方法的继承关系和行为。 一、访问修饰符 访问修饰符是 Java 中最基本的修饰符,用于控制类、成员变量和方法的访问权限。访问修饰符有四...

    JS中的public和private对象,即static修饰符

    在C#等静态类型语言中,public、private和static是访问修饰符,用于控制类成员的可见性和作用域。而在JavaScript中,由于其原型继承的特性,我们通常使用函数作用域和闭包来模拟这些行为。 下面我们将基于提供的...

    c++中的static修饰符示例详解

    本文主要给大家介绍了关于c++中static修饰符的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 下面一段是引用自effective c++ 中的一句话: 所谓的static对象,其寿命是从构造出来到...

    java修饰符的使用.pdf

    3. 静态类(static):static 修饰符修饰的类称为静态类,静态类可以在定义时初始化成员变量和方法。 在 Java 中,修饰符的使用是非常重要的,合理地使用修饰符可以提高程序的安全性和可维护性。但是,过多地使用 ...

    Java访问修饰符

    static 方法访问修饰符表示静态方法,可以被类的所有实例共享,不需要创建类的实例就可以访问。 final 方法访问修饰符 final 方法访问修饰符表示防止任何子类重载该方法。 abstract 方法访问修饰符 abstract ...

    extern_volatile等修饰符的用法

    static修饰符用于声明静态变量或静态成员函数。 1. 静态变量 静态变量的作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,可以被修改。 2. 函数内部的静态变量 函数内部的静态变量...

    继承和接口和java访问权限修饰符总结.doc

    static 修饰符可以使得方法或变量在类加载时就被初始化,并且可以被所有对象共享。 六、final 修饰符 final 修饰符是指在 Java 中用来修饰类、方法和变量的关键字。final 修饰符可以使得类不能被继承、方法不能被...

    Java修饰符 abstract,static,final 的区别详解

    static修饰符** `static`修饰符用于定义静态成员(包括属性和方法)以及静态初始代码块。 - 静态属性:由`static`修饰的属性称为类变量,它们属于类本身而不是类的实例。这意味着所有类的实例共享同一份静态属性的...

    java常用修饰符.doc

    3. **静态修饰符(static)**:static修饰符用于声明静态成员(类变量和静态方法),它们属于类本身,而不是类的实例。这意味着可以在没有类实例的情况下访问静态成员。 4. **本地修饰符(native)**:native用于...

    理解java中的类的各种权限修饰符

    本文将详细探讨Java中的五种权限修饰符:`public`、`protected`、`default`(也称为包访问权限)、`private`以及`static`修饰类的情况,并通过实例来展示这些修饰符的具体应用。 #### 1. Public - **概述**: - `...

    java修饰符

    static修饰符是java语言中的一种访问控制机制,它們可以用来修饰类、方法、变量等,以控制它们的实例共享性。 例如: public class Person { public static String name = "zhangsan"; public static void ...

    C/C++中static,const,inline三种关键字详细总结

    一、关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式 static...

    详解Java编程中protected修饰符与static修饰符的作用

    在Java编程中,`protected`和`static`是两个非常重要的修饰符,它们分别控制着类成员的访问权限和静态属性的行为。本文将详细阐述这两个关键字的作用,帮助初学者更好地理解和运用。 首先,我们来讨论`protected`...

    Java主要修饰符的使用[归纳].pdf

    static修饰符用于创建类级别的变量和方法,与特定对象无关,而是与类相关联。 1. 静态变量 static变量是类变量,所有类的实例共享同一份副本。在类加载时初始化,可以通过类名直接访问,无需创建对象。 2. 静态...

    java常用的修饰符

    - **static**: 静态修饰符,表示成员变量属于类而非类的实例,可以通过类名直接访问。 - **final**: 最终修饰符,用于声明常量,一旦赋值,不能更改。 - **volatile**: 易失修饰符,用于多线程环境,保证变量在多...

    java修饰符介绍

    在Java编程语言中,修饰符是用来限制或指定代码元素(如类、方法、变量)的访问权限、特性或行为的关键词。以下是对标题和描述中提及的Java修饰符及其相关知识点的详细介绍: 1. 类的访问控制修饰符: - **public*...

    C语言中的类型修饰符

    本文将详细介绍C语言中的三种重要类型修饰符:`const`、`static` 和 `volatile`。 #### 二、`const`修饰符详解 `const`修饰符主要用于声明一个或多个变量为常量,即一旦赋值之后,其值不能被修改。`const`修饰符...

    java访问权限修饰符public.doc

    java 访问权限修饰符详解 在 Java 语言中,访问权限修饰符是指用来限定类、成员变量和方法的可访问范围的关键字。访问权限修饰符分为四种:public、protected、friendly 和 private。每种修饰符都有其特定的访问...

Global site tag (gtag.js) - Google Analytics