静态修饰符

静态修饰符(static)

Static 静态修饰符      1.修饰成员变量     2.修饰方法

1.用来修饰成员变量:一个成员变量被static修饰叫静态成员变量,如果没有被修饰叫非静成员变量。

访问方式:(1)用对象进行访问:    对象名.变量名

(2)可以通过类名来访问:  类名.变量名

需要注意的点:

(1)不要认为所有的变量都用static修饰,只有数据真正需要共享时才需要static修饰

(2)只有静态变量才能用类名访问,非静态变量只能用对象访问

(3)局部变量不允许被static修饰

2.用来修饰方法:

访问方式: (1)可以通过对象访问    对象.方法名();

(2)可以通过类名访问    类.方法名();   //推荐使用

需要注意的点:

(1)静态方法可以用对象和类名调用。非静态方法只能用对象来调用。

(2)静态方法是可以访问静态成员变量,不能访问非静态的成员变量。非静态的方法中可以访问任何成员变量(原因:有可能静态当被调用了,但是对象还没有创建出来)。

(3)静态方法可以直接访问静态方法,但是不能访问非静态方法(原因:有可能静态当被调用了,但是对象还没创建出来,非静态方法中由对象调用。如果对象被创建出来,静态方法早就存在了。)

(4)静态方法中是不允许出现this关键字和super关键字

This:表示一个方法的调用者对象(可能对象没有被创建出来)

特点: 静态的数据早于非静态的数据存在内存中

什么情况下使用static来修饰方法: 当一个方法不需要直接访问非静态数据,这个时候就可以用static修饰(定义工具类)

时间: 2024-11-08 04:41:38

静态修饰符的相关文章

有关static静态修饰符的学习心得

初学java,面对着这个static修饰符,愣是琢磨了两天时间,还在今天琢磨透了,现在将悟到的东西记录下来: 1.static修饰符表示静态修饰符,其所修饰的内容(变量.方法.代码块暂时学到这三种)统称为静态内容(静态变量.静态方法.静态代码块) 2.静态内容是与类相关的内容.解释:静态变量在类加载时就会被分配内存空间,而且只会被分配一次,也就是说静态变量对类内部是共享的,大家都可以去调用访问它,只要在一个调用里改变了它的值,那么所有调用内部的值全部都会被改变.静态方法也是在类加载时就分配了入口

静态修饰符static,类中的常量定义修饰符

static可以用来区分成员变量.方法是属于类本身还是属于类实例化后的对象.有static修饰的成员属于类本身,没有static修饰的成员属于类的实例. 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失static是一个修饰符,用于修饰成员(成员变量和成员函数)静态成员随着类的加载而加载.静态成员优先于对象存在.静态成员被所有对象所共享静态成员多了一个中调用方式,可以被类名直接调用.静态的优缺点优点: 静态成员多了一种调用方式.可以直接被类名调用 格式 :类名.静态成员.也

java静态修饰符static的使用

class Person { private String name; private int age; /* * 假设每个Person对象的国籍都一样, * 那么每次调用都要赋值就会不合理. * 使用static修饰,国籍优先确立, * 每个对象建立时,都默认赋予了该国籍. */ static String country = "China"; Person (String name,int age) { this.name = name; this.age = age; } pub

【总结】C++与C#中的static静态修饰符

重点 静态类(sealed+abstract) 静态构造函数(无参,无限制符,自动执行一次) 静态变量(类级别,实例无关,静态存储区中) 静态方法(不能被重写) 静态局部变量(始终存在) 静态本质是实例无关的,表示不会修改实例的 C++ 静态成员变量 静态成员 的内存只被分配一次,会一直存在于程序的整个生命周期中. 如果要将静态成员在类内初始化,那么该变量需要声明为const常量. int class :: c = 10;      static数据成员可以在类外定义和初始化,也可以在函数中赋值

java静态修饰符的作用

在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在.这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制),例如: 未声明为static cla

修饰符-包-内部类-代码块执行顺序

1.访问权限修饰符     从大到小的顺序为:public--protected--default--private     private--只能在同一类中使用;     default--不用写出来,默认不加.可以被同一包中的类使用     protected--可以被不同包的子类使用     public--可以被不同包的其它类使用 2.各种修饰符的修饰对象(可修饰哪些:类/接口/方法/属性)(多个修饰符连用是可以没有顺序的!)     1)访问权限修饰符:public/default--

访问权限修饰符-static-final-this-super-匿名对象

1.this关键字的作用     1)调用本类中的属性;     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用     3)表示当前对象; 2.匿名对象     直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用 3.继承     关键字:extends     通过继承,子类可以直接访问父类中非私有的属性及方法     只允许单继承,但是可以多层继承     子类对象的实例化过程是先调用父类的构造器,再调用子类的构造器; 

06-JAVA类及成员的修饰符

类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final,将一个类生命为最终(即非继承类),表示他不能被其他类继承. friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问. private(私有访问控制符)指定该变量只允许自己的类的方法

java修饰符归类

类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final,将一个类生命为最终(即非继承类),表示他不能被其他类继承. friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问. private(私有访问控制符)指定该变量只允许自己的类的方法