static 静态变量,静态方法

Java 之静态变量

引入

一个类可以创建多个对象 ,每个对象都拥有自己的成员,各自互相独立。然而在某些特殊情况下,我们希望该类的所有对象共享一个成员,这个时候就可以把这个成员设置为static

在Java中,被static 修饰的成员称为静态成员,它是属于整个类的,在类被加载的时候被分配到静态区(在堆里面)。这个时候属于它就不单独属于某个特定的对象了,即被类的所有对象所共享。静态成员可以使用类名直接访问,当然也可以使用对象命进行访问,介于它的特殊性,更推荐使用类名进行访问。

运行结果:

Java 之静态方法

与静态变量一样。我们可以使用static 修饰方法,称之为静态方法 。我们之前一直写的mian 方法仔细看看,它就是一个静态方法,静态方法使用如下:

运行结果

使用静态方法时,要注意:

1、静态方法可以调用同类中的其他成员,但不能直接调用非静态成员,如:

2、但是如果希望静态方法中调用非静态成员,可以通过创建类的对象 ,然后通过对象来访问非静态变量。如

3、普通的方法中,可以直接访问同类中的非静态变量和静态变量,如下

4、静态方法中,不能直接调用非静态方法,但是可以通过对象来访问非静态方法。如:

参考大佬博客:https://www.cnblogs.com/dianqijiaodengdai/p/6144698.html

然后自己再敲一遍~~

原文地址:https://www.cnblogs.com/liuzeyu12a/p/10341348.html

时间: 2024-11-09 03:59:10

static 静态变量,静态方法的相关文章

java中的关键字static(静态变量)和final定义常量

1 package point; 2 3 class Point { 4 5 int x = 0; 6 int y = 0; 7 static int z = 100; // 定义静态变量z,类变量 8 static final double PI = 3.1415926;// final定义常量,它的值在运行时不能被改变 9 10 Point(int a, int b) { 11 //PI=3.1415926; 12 /* 13 * 当使用静态常量的时候,不能在构造函数中初始化, 因为静态时,

探讨PHP 静态变量 静态方法 初始化类的问题 哪种写法合格

class Main { static $service; public function __construct() { $this->getService ()->t (); $this->getService ()->t (); } public static function getService1() { return new Service ( "BB" ); } public static function getService2() { if (

static静态变量

static静态变量 static 关键字来定义静态方法和属性.static 也可用于定义静态变量声明类属性或方法为静态,就可以不实例化类而直接访问.静态属性不能通过一个类已实例化的对象来访问(但静态方法可以). 为了兼容 PHP 4,如果没有指定访问控制,属性和方法默认为公有. 由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用. 静态属性不可以由对象通过 -> 操作符来访问. 用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误. 就像其它所有的

C#中static静态变量的用法

使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型 静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: A.该变量在全局数据区分配内存. B.初始化:如果不显式初始化,那么将被隐式初始化为0. 静态局部变量 定义:在局部变量前加上static关键字时,就定义了静态局部变量. 特点: A.该变量在全局数据区分配内存

Static静态变量和非静态变量

Static静态变量:   不同的对象共享这个变量的存储空间 而不是静态变量   每个对象具有可变的存储器空间 public class StaticDemo { private int count=0; private static int staticCount=0; public StaticDemo() { System.out.println(++count); System.out.println(++staticCount); } public static void main(S

[转] C# 中的static静态变量

logitechyan原文关于C#中static静态变量 C#静态变量使用static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一C#静态变量都是同一个值,同一个类的不同实例的同一非 静态变量可以是不同的值.静态函数的实现里不能使用非静态成员,如非静态变量.非静态函数等. 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.

android 尽量不要使用static静态变量

使用静态static静态变量潜在性问题: 1.占用内存,并且内存一般不会释放: 2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误. 3.不能将activity作为static静态对象,这样使activity的所有组件对象都存入全局内存中,并且不会被回收: (转自:http://blog.csdn.net/ctcwri/article/details/8858414) 静态变量的生命周期: 类在什么时候被加载? 当我们启动一个app的时候,系统会创建一个进程,此进程会加载一

PHP之static静态变量详解(一)

什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束(相反,而 auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放).静态变量虽在程序的整个执行过程中始终存在,但是在它作 用域之外不能使用. 另外

java学习(四)static静态变量 和this

java中的this /* this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量隐藏成员变量 */ //定义学生类 class Student { //姓名 private String name; //年龄 private int age; //姓名获取值 public String getName() { return name; } //姓名设置值 public void setName(