Java关键字static、final、transient详解
来源:互联网 发布:软件开发的标准规范 编辑:程序博客网 时间:2024/05/16 23:35
1.static关键字
static关键字修饰的变量表示该变量为该类的所有对象共有。static修饰的方法表示类的方法,通过类名直接可以调用该方法。
static 修饰的代码块可以让类刚加载到内存的时候就执行该代码块。
我们来看一下如下代码及执行结果:
StaticDemo类:
package StaticFinalTransient;public class StaticDemo {public static String nameString="xyp";public static int count=0;private String ageString;static {count++;System.out.println("静态代码块执行!"+count);}public static void printInfo(){System.out.println("静态方法!");}public StaticDemo(String age){this.ageString=age;}public String getAgeString() {return ageString;}public void setAgeString(String ageString) {this.ageString = ageString;}}MainApp类:
package StaticFinalTransient;public class MainApp {public static void main(String agrs[]){StaticDemo.printInfo();StaticDemo s=new StaticDemo("18");s.nameString="北半球先生";StaticDemo t=new StaticDemo("20");System.out.println(t.nameString);}}
运行结果如下:
从运行结果看来,证实了static修饰变量,代码块及方法的功能。
2.Final关键字
Final 顾名思义就是不可再修改的,通常Final和Static 组合使用来定义一些常用的常量。Final比较简单就不再赘述了。
3.transient关键字
transient 比较少见。transient 修饰的变量表示短暂的,不可以被序列化的。
来看如下代码:
package StaticFinalTransient;import java.io.Serializable; /** * Person实现Serializable接口 */ public class Person implements Serializable { /** * */private static final long serialVersionUID = 1L;private String name; private transient String password; public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public static long getSerialversionuid() {return serialVersionUID;}//setter 和 getter方法 @Override public String toString() { return "Peron [name=" + name + ", password=" + password + "]"; } } //通常如果想要将一个对象持久化存储到磁盘中,那么通常是先将该对象序列化然后再存储。
package StaticFinalTransient;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class Test {public static void main(String agrs[]) throws FileNotFoundException, IOException, ClassNotFoundException{File file = new File("e:/out.txt"); ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file)); Person person=new Person(); person.setName("北半球先生"); person.setPassword("123"); out.writeObject(person); out.flush(); out.close(); ObjectInputStream in = new ObjectInputStream(new FileInputStream(file)); Person outPerson = (Person) in.readObject(); in.close(); System.out.println(outPerson.toString()); }}
运行结果如下:
0 0
- Java关键字static、final、transient详解
- Java关键字之static、final、transient
- static、final、transient [ Java ]
- Java关键字static,final详解
- java中 static,final,transient,volatile关键字的作用
- java中 static,final,transient,volatile关键字的作用
- java中 static,final,transient,volatile关键字的作用
- java学习(1).static,volatile,transient,final等关键字
- java学习(2).static,`volatile`,transient,final等关键字
- Java开发--static,final,transient
- static、final、transient等关键字的作用
- java关键字native、static、final详解
- java关键字native、static、final详解
- Java transient关键字详解
- Java关键字final、static
- Java Final static 关键字
- java关键字final、static
- Java 关键字final、static
- 有哪些嵌入式操作系统的类型和CPU的类型 ?
- IDEA 和 eclipse项目部署
- Eclipse如何导入项目
- 身份证找生日
- 《Java核心技术》读书笔记之移位运算符
- Java关键字static、final、transient详解
- kali虚拟机根目录扩容
- 两台windows之间MQ中间消息件的通信
- 初始化string对象时,申请空间的秘密
- 欢迎使用CSDN-markdown编辑器
- hdu3018
- 剑指offer17:合并两个排序的链表
- JAVA编译器报Syntax error on token ";", { expected after this token错
- iPhone 更新到 IOS 10.3 后,自己搭建的企业级下载服务器无法连接到服务器问题