静态域与静态方法
来源:互联网 发布:阿里云 网站端口 编辑:程序博客网 时间:2024/05/16 09:55
一.静态域
每一个对象对于所有的实例域都有一份自己的拷贝,比如给每个Person赋一个实例域age,则一百个Person对象就有一百个实例域age,但是只有一个静态域air,即使没有创建Person对象,静态域air也存在,它属于类。
<span style="font-size:12px;">package com.wh.view;public class Person { int age; static int air;static{air=60;}public void Slefadd(){air+=1;age+=1;}public Person(int age){this.age=age;} public static void main(String[] args) {// TODO Auto-generated method stub Person p1=new Person(18); p1.Slefadd(); Person p2=new Person(22); System.out.println("p2的air值为:"+p2.air+" p2的年龄为:"+p2.age);}}</span>
如上代码,我们实例化了p1,p2两个人类,并调用p1.Slefadd()方法自加,然后打印p2的信息
结果为:p2的air值为:61 p2的年龄为:22 由此可见 air静态域是共享的,而实例域是每个对象独有的。
二.静态方法
静态方法是一种不能向对象实施操作的方法。
package com.wh.view;public class Person { int age; static int air;static{air=60;//没有实例化前,这段域就加载了 会先在控制台打印出来System.out.println(" 先分配静态对象的空间,内存空间上是固定的 ");}public static void Slefadd(){//this.age=19; 报错 不能使用this super 表对象的//show(); 报错 不能调用非静态方法,能调用静态的方法//age=20; 报错 不能再静态方法中访问实例域,但是可以访问自身类中的静态域air=50;//right}public void show(){System.out.println("我是非静态方法");}public Person(int age){this.age=age;} public static void main(String[] args) {// TODO Auto-generated method stub Person p=new Person(18); Person.air=22;//直接用类名调用 Person.Slefadd();//直接用类名静态方法 System.out.println(p.air);}}
java静态对象便捷处
1.静态对象的数据在全局是唯一的,一改都改。修改他的任何一处地方,在程序所有使用到的地方都将会体现到这些数据的修改。
2.引用方便。直接用 类名.静态方法名 或者 类名.
3.static final用来修饰成员变量和成员方法,可简单理解为“全局常量”。对于变量,表示一旦给值就不可修改;对于方法,表示不可覆盖。
j
0 0
- 静态域与静态方法
- 域与静态方法
- Java静态域与静态方法
- Java静态域与静态方法
- Java静态域与静态方法
- 静态变量与静态方法
- 静态变量与静态方法
- 静态与非静态方法
- 静态变量与静态方法
- 缺陷:域与静态方法
- 静态方法与非静态方法
- C#静态方法与非静态方法
- 静态方法与非静态方法区别
- 静态方法与非静态方法
- 静态域和静态方法
- Java中的常量、静态域与静态方法
- Java学习笔记【静态域与静态方法】
- 静态方法与变量
- 正则表达式的使用
- Struts1与Struts2
- poj 3254 Corn Fields
- win7 安装theano+gpu
- Fork and Join: Java也可以轻松地编写并发程序 原文地址 作者:Julien Ponge 译者:iDestiny 资源下载: Java SE 7 Sample Code(Zi
- 静态域与静态方法
- linux c 编程模板总结(一)
- 【Scala类型系统】类型参数化和变化型注解
- 专访沙梓社:做个“Think Different”的技术牛人
- Spring进阶之路(1)-Spring核心机制:依赖注入/控制反转
- 安装版与绿色版,注册表
- 【Scala类型系统】函数式Queue的简易实现
- session_unset() 和 session_destroy()
- java学习日记——继承中方法的重写