class Person{
String name; //成员变量,实例变量(实例中的变量)

//共享数据出现在对象之前
static String country="cn"; //对象的共享数据,称为静态变量,也叫类变量

public void show(){ //如果show方法加上static修饰,那show方法里就无法使用this或super
System.out.println(Person.country+":"+this.name); //(Person.) 可以省略,因为是在本类中调用
}
}

/*
static的特点:
1、static是一个修饰符,用于修饰成员
2、static修饰的成员被所有的对象所共享
3、static优先于对象存在,因为static的成员随着类的加载就已经存在
4、static修饰的成员多了一种调用方式,可以直接被类名所调用(方法:类名.静态(static)成员)
5、static修饰的数据是共享数据,对象中存储的是特有数据

成员变量和静态变量的区别
1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的被回收而释放
静态变量随着类的加载而存在,随着类的消失而消失,一般情况下虚拟机结束,类就消失

2、调用方式不同
成员变量只能被对象调用
静态变量可以被对象调用,也可以被类名调用(建议用类调用,方便阅读和区分)

3、别名不同
成员变量也叫实例变量
静态变量也叫类变量

4、数据的存储位置不同
成员变量数据存储在堆内存的对象的中,所以也叫对象的特有数据
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据

静态使用的注意事项:
1、静态方法只能访问静态成员(成员变量和函数)。非静态既可以访问静态,也可以访问非静态
2、静态方法中不可以使用this或者super关键字,因为静态方法没有对象,所以this没办法使用。
3、主函数是静态的

*/

class StaticDemo{
int num=4;
public static void main(String[] args){
// Person p=new Person();
// p.name="小旺";
// p.show();

// System.out.println(p.country); //static共享数据,可以直接被类访问
// System.out.println(Person.country);
// Person.show();
new StaticDemo().show(); //new StaticDemo表示:类的对象
}
public void show()
{
System.out.println(num);
}
}

static(静态)关键字的更多相关文章

  1. Java中static静态关键字的使用

    我们可以基于一个类创建多个对象,每个对象都拥有自己的成员,所有成员变量的值是根据对象而存在的,有些时候我们希望一个类的所有对象共享一个成员,这就用到了static静态关键字 被静态关键字修饰的成员属于 ...

  2. php笔记(二)PHP类和对象之Static静态关键字

      PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { pr ...

  3. php中static静态关键字的使用

    php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的 ...

  4. php中static静态关键字的使用方法和应用场景

    php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的 ...

  5. Java之static静态关键字详解|final关键字详解

    前言 在Java语言中,static表示"静态"的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块.static的主要作用在于创建独立于具体对象的域变量或者方法 ...

  6. php中static 静态关键字

    一直依赖对于php中static关键字比较模糊,只是在单例模式中用过几次.上网查了查,没有找到很全的介绍,自己总结一下. 根据使用位置分为两部分 1.函数体中的静态变量 2.类中的静态属性和方法 1 ...

  7. static静态关键字

    转载自大佬:https://www.cnblogs.com/xrq730/p/4820992.html 静态资源和静态方法 首先,静态的资源和方法等会随着类的加载而进入内存被初始化,而非静态的资源和方 ...

  8. Java static静态关键字 有啥用

    #static有啥用 在Java语言中,static表示“静态”的意思,使用场景可以用来修饰成员变量和成员方法,当然也可以是静态代码块.static的主要作用在于创建独立于具体对象的域变量或者方法. ...

  9. php Static静态关键字

    静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { private static $speed =  ...

随机推荐

  1. 使用tp访问数据库时提示错误: 'PDO' not found, 和not defined constant mysql_attr_init_command 和call an undefined function Think\Template\simpleXml_load_string()函数

    第一个问题: PDO not found 是因为 php没有安装pdo扩展, 无法提供给 php 以 数据库访问功能, 所以 报错是在文件: Think/Db.class.php的里面. 解决方法是: ...

  2. HDU 4417 Super Mario(主席树 区间不超过k的个数)题解

    题意:问区间内不超过k的个数 思路:显然主席树,把所有的值离散化一下,然后主席树求一下小于等于k有几个就行.注意,他给你的k不一定包含在数组里,所以问题中的询问一起离散化. 代码: #include& ...

  3. Vue-admin工作整理(八): BUS | | 组件通信

    一.父子组件之间通信 思路:定义一个个人组件,个人组件通常需要在前缀统一命名一下,如:AInput,该组件的作用是将编辑框中的内容获取并通过事件提交出去,然后在目标组件(store)中通过双向交互模式 ...

  4. shell for 循环

    test.sh #!/bin/bash for str in "C语言" "http://www.bilibili.com" "成立7年了" ...

  5. Rancher2.0与DataDog集成部署

    目录 一.简要介绍 二.注意事项 三.部署过程 四.运行截图 五.参考链接 一.简要介绍: 看了Rancher中文官网上的一篇关于DataDog部署的文章,自己尝试了一下,没有成功,主要是自己对Dat ...

  6. 禁止root登陆sshd/并修改默认端口号

    1,新建一个用户: #useradd xxx 2,为新用户设置密码: #passwd xxx 3,修改sshd配置文件 #vi /etc/ssh/sshd_config 查找“#PermitRootL ...

  7. [Windows] 重新安装/卸载桌面版OneDrive / Reinstall/ Uninstall Desktop Version OneDrive

    Deep within the OS is a backup copy of the OneDriver installer. To find it, go to  File Explorer> ...

  8. VS2017 MVC Spring net 环境配置

    首先打开管理NuGet程序包. 搜索 "spring web",安装Spring.Web,Spring.Web.Mvc5,Spring.Web.Extensions, 搜索Micr ...

  9. iview table 实现在数据中自定义标识

    做了一个商旅订票的项目,在详情中有一个因公超标在表格中用一个“超”字显示的需求.后台框架用的iview+vue,也就是在iview Table中改变.在iview的框架中改变东西首先要想到的是ivie ...

  10. web前端常见面试题

    转载自:https://www.cnblogs.com/jj-z/p/7999538.html 一.理论知识 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起 ...