static关键字

一、作用:是一个修饰符,用于修饰成员(成员变量,成员方法)
1、被static 修饰后的成员变量只有一份
2、当成员被static修饰之后,多了一种访问方式,除了可以被对象调用之外还可以被类名直接调用(类名.静态成员)

二、static的特点:
1、随着类的加载而被加载
2、优先于对象的存在
3、被所有的对象所共享的
4、可以直接被类名做调用

三、存放位置:
1、静态成员属性(类变量)随着类的加载而存在于data内存区。
2、普通成员属性随着对象的建立而存在于堆内存。

四、生命周期:
1、静态成员(类变量)生命周期最长,随着类的消失而消失
2、非静态成员(实例变量)生命周期比静态成员短,随着对象的消失而消失

五、方法的注意事项:
1、静态的方法只能访问静态的成员
2、非静态的方法即能访问静态的成员(成员属性,成员方法)也能访问非静态的成员
3、今天方法中是不可以定义 this、super关键字,因为静态优先于对象存在,所以静态方法不可以出现this

class G{
String name;
int age; //成员属性(另一种叫法(实例变量)
static String country; //静态成员属性(另一种叫法:类变量)
static void jt(){
System.out.println(country); //静态方法里面访问静态成员属性时,不能使用this关键字,不能访问非静态成员属性。
}
} public class Index{
public static void main(String[] args){
G A = new G();
A.country = "小明";
G B = new G();
System.out.println(A.country); //对象A,定义了country成员属性的值,可以输出,这是常规的方式
System.out.println(B.country); //对象B,没有定义country成员属性的值,也可以输出
System.out.println(G.country);//类名.static成员,也可以输出 B.jt(); //调用静态方法
}
}

JAVA 静态成员 static的更多相关文章

  1. Java面向对象-static关键字、静态方法与普通方法、静态成员变量

    Java面向对象-static关键字.静态方法与普通方法 static关键字的基本作用:方便在没有创建对象的情况下来进行调用(方法/变量). 很显然,被static关键字修饰的方法或者变量不需要依赖于 ...

  2. [java基础]java中static关键字

    1.static概念 static是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序 ...

  3. Java关键字--static

    在Java中,将关键字static分为三部分进行讨论,分别为Java静态变量.Java静态方法.Java静态类 Java Static Variables Java instance variable ...

  4. Java之Static静态修饰符详解

    Java之Static静态修饰符详解 Java之Static静态修饰符详解 一.特点 1.随着类的加载而加载,随着类的消失而消失,生命周期最长 2.优先于对象存在 3.被所有类的对象共享 4.可以直接 ...

  5. java中static关键字的作用

    java中static关键字主要有两种作用: 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,s ...

  6. Java的static关键字

    本文参考:Java的static关键字 通过static关键字可以满足两方面的需要.一种情形是,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象.另一种情形是,希 ...

  7. java的static关键字 – Break易站

    本文内容来自:java的static关键字 – Break易站 (原文网站阅读体验更好) 通过static关键字可以满足两方面的需要.一种情形是,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多 ...

  8. java中static特殊性和final(static成员直接被访问,this不能用在static方法中,static不可访问非static)

    java的static关键字 java中,static修饰的成员变量和成员方法叫静态变量和静态方法,不依赖类特定的实例,被类的所有实例共享. 静态变量或类变量 和 实例变量,区别是: 静态变量在内存中 ...

  9. Java静态成员与实例成员

    Java静态成员与实例成员 类是一种类型,类中定义的所有成员都归此的对象所有,这些成员成为实例成员:而某些成员想要被所有类的所有对象共享,此时的成员不属于某个对象,而是属于整个类,这些成员成为静态成员 ...

随机推荐

  1. breakpoints

    https://blogs.msdn.microsoft.com/visualstudioalm/2013/10/07/breakpoints-in-visual-studio-2013/ Using ...

  2. 11G RAC 进程启动顺序

  3. 11g RAC日志体系(cluster,database,asm,scan日志,ADRCI工具的使用)

  4. Android Studio导入GitHub上的项目常见问题(有例子)

    前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...

  5. sql compact 使用EF无法更新的问题?

    1.问题一是表中没有主键会报一些莫名其妙的错误. 2.数据库文件被默认复制到了Debug/Release目录,实际调试或运行时发现原有数据库没有被更新.

  6. java_常用数据类型转换基础篇

    一.java基本数据类型 1.java基本数据类型可分四类八中 第一类:整形:byte.short.int.long 第二类:浮点型:float(单精度) .double(双精度) 第三类:逻辑类型: ...

  7. 无法在web服务器上启动调试。Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行,VS2012调试错误

    1.重启(无用) 2.关闭防火墙(无用) 3.开启文件与打印机共享(无用) 4.无远程调试权限,改为本地调试.或者是IIS中此项目没有启动.或者没有在IIS中新建此项目.

  8. (五)Linux引导流程解析

    目录 Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 Linux引导流程 Linux系统引导流程如下图: 固件(Firmware)就是写入ERO ...

  9. presto访问 Azure blob storage

    当集群使用Azure Blog Storage时,prestoDB无法获取返回结果,在此记录下 如下,hive里面的两个表,一个使用的是本地的hdfs,一个是使用 azure blob storage ...

  10. Cordova调用Activity

    首先需要编写一个CallActivityPlugin插件,专门调用Activity package com.example.plugin; import org.apache.cordova.api. ...