static 续--

1、static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,被 static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享(因此可以用來统计一个类有多少个实例 化对象),所以有些属性希望被所有对象共享,则必须将其声明为static属性,被static声明的属性成为全局属性。

2、只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。

3、类中定义的静态代码块会优先于构造块先执行,而且不管有多少个对象,静态代码块只执行一次

例1:

class PersonE{
 private String name;
 private int age;
 private static String country = "A城";
 public PersonE(String name,int age){
  this.name = name;
  this.age = age;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 public static String getCountry() {
  return country;
 }
 public static void setCountry(String country)
{
  PersonE.country =
country;
 }
 public void info(){
  System.out.println("姓名:"+this.getName()+","+"年龄:"+this.getAge()+","+"城市:"+country);

}
}
public class StaticUse {
 public static void main(String[] args){
  PersonE per1 = new
PersonE("张三",20);
  PersonE per2 = new
PersonE("李四",22);
  System.out.println("---------修改之前--------");

per1.info();
  per2.info();
  System.out.println("---------修改之後---------");

PersonE.setCountry("B城");
  per1.info();
  per2.info();
 }
}

时间: 2024-10-27 04:29:40

static 续--的相关文章

使用static静态成员实现服务器端缓存(导航面包屑)~续

返回目录 在写完首篇cache文章后,有些朋友给我来信,希望可以使用JS的方法来实现这个导航功能,所以,才有了这篇文章,JS与C#不同,它虽然有引用类型,但它不具备一些引用类型的特性,如它的方法参数为对象时,也是通过值传递的,而不是通过内存地址,而在进行导航制作时,我们正是使用了引用类型的这个特性,所以,我们的JS方法,就不能和C#相同了,如果使用其它方式,如,使用名称保存在一个变量里. 下面是JS方式实现的导航,希望对JS朋友有些帮助 <script type="text/javascr

C#中的委托和事件(续)

C#中的委托和事件(续) 引言 如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识.但那些远不是委托和事件的全部内容,还有很多的地方没有涉及.本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器.异常处理.超时处理和异步方法调用等内容. 为什么要使用事件而不是委托变量? 在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直接使用委托变量的原因.主要是从封装性和易用性上去考虑,但是还漏掉了一点,事件应该

android Spinner 续

android Spinner 续 动态增删Spinner中的数据项 public class EX04_09 extends Activity{  private static final String[] countriesStr = { "北京市", "天津市", "上海市", "广州市" };  private TextView myTextView;  private EditText myEditText;  pr

DICOM医学图像处理:开源库mDCM与DCMTK的比较分析(一),JPEG无损压缩DCM图像(续)

背景: 上周通过单步调试,找出了开源库mDCM与DCMTK在对DICOM图像进行JPEG无损压缩时的细小区别,并顺利实现了在C++和C#环境下对DICOM图像的压缩.但是问题接踵而至啊,随着项目的深入,发现在单独的测试工程中可以实现的mDCM版本,在嵌入到项目整体中后,却意外地出现了错误,并未顺利实现DICOM图像的JPEG无损压缩.因此需要继续详细对比分析mDCM与DCMTK两者,期望寻找原因. 问题分析: 开启项目的日志功能后,得到的信息反馈为: No registered codec fo

C++ Primer 学习笔记_99_特殊工具与技术 --优化内存分配[续1]

特殊工具与技术 --优化内存分配[续1] 三.operator new函数和operator delete 函数 – 分配但不初始化内存 首先,需要对new和delete表达式怎样工作有更多的理解.当使用new表达式 string *sp = new string("initialized"); 的时候,实际上发生三个步骤: 1)首先,表达式调用名为operator new 的标准库函数,分配足够大的原始的未类型化的内存,以保存指定类型的一个对象; 2)接下来,运行该类型的一个构造函数

C++ Primer 学习笔记_82_模板与泛型编程 --类模板成员[续2]

模板与泛型编程 --类模板成员[续2] 六.完整的Queue类 Queue的完整定义: template <typename Type> class Queue; template <typename Type> ostream &operator<<(ostream &,const Queue<Type> &); template <typename Type> class QueueItem { friend clas

Java_IO_文件的续写_小笔记

1 package IO; 2 3 import java.io.FileWriter; 4 import java.io.IOException; 5 6 class FileWrite_WenJianXuXie { 7 /*抛是为了方便演示 续写功能,平时别抛*/ 8 public static void main(String[] args)throws IOException { 9 /*传递true,代表不覆盖已有文件,并在文件末尾处续写*/ 10 FileWriter fw=new

nginx1.8.0配置(搭配Centos6.5+Nginx+php5.6的续章)。

由于在<搭配Centos6.5+Nginx+php5.6>文章中没提到nginx的一些常用配置,写个续章 nginx的支持php配置来源自iteye的文章,http://ears.iteye.com/blog/1896542 在此感谢 1.使nginx支持php 1).在nginx.conf中的server下添加如下内容,SCRIPT_FILENAME后是你的nginx目录 2). 然后重启php-fpm和nginx(支持原理是让文件结尾为php的请求,发送到9000端口,而9000端口是ph

一个无锁消息队列引发的血案(六)——RingQueue(中) 休眠的艺术 [续]

目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的艺术 [续] 开篇 这是第五篇的后续,这部分的内容同时会更新和添加在 第五篇:RingQueue(中) 休眠的艺术 一文的末尾. 归纳 紧接上一篇的末尾,我们把 Windows 和 Linux 下的休眠策略归纳总结一下,如下图: 我们可以看到,Linux 下的 sched_yield() 虽然包括了