java简单一句话程序_Java一句话

此文是我自己在学习Java过程中觉得有用的且容易混淆或者遗忘的一句话总结。

1)long类型不能用于switch语句;

2)一个接口可以继承(扩展)多个接口;

3)在方法块中声明静态变量时,会引起编译错误;

4)检验异常通过Exception类的子类进行定义,而非检验异常则通过RuntimeException类的子类进行定义;

5)可以通过匿名内部类来直接实例化抽象类或接口;

6)在静态嵌套内部类存在于接口内部时,接口可以将内部存在实现方式的引用数据类型包括进去;

public interface Command

{

public void execute(String s);

public static class Dos implements Command

{

public void execute(String s)

{

//some codes to execute a dos command

}

}

public static class Unix implements Command

{

public void execute(String s)

{

//some codes to execute a Unix command

}

}

}

现在,如果我们想在UNIX平台上运行,那么可以使用如下代码:

Command c = new Command.Unix();

c.execute("dir");

7)获得当前线程的引用:Thread t = Thread.currentThread();

获得当前线程组的引用:ThreadGroup tg = Thread.currentThread().getThreadGroup();

8)序列化(Serializable)过程中从不存储临时实例(声明为transient);

serializable是标记性接口,无可实现方法,只是通知编译器其实现类可被序列化。当一个实例被声明为transient时,其值在序列化过程中将丢失。

import java.io.*;

public class TestObjectIO {

public static void main(String[] args) {

T t = new T();

t.k = 8;

try {

FileOutputStream fos = new FileOutputStream("e:/debug/testObjectIO.dat");

ObjectOutputStream oos = new ObjectOutputStream(fos);

oos.writeObject(t);

oos.flush();

oos.close();

FileInputStream fis = new FileInputStream("e:/debug/testObjectIO.dat");

ObjectInputStream ois = new ObjectInputStream(fis);

T tRead = (T)ois.readObject();

System.out.println(tRead.i+","+tRead.j+","+tRead.d+","+tRead.k);

}

catch(FileNotFoundException e) {

e.printStackTrace();

}

catch(ClassNotFoundException e) {

e.printStackTrace();

}

catch(IOException e) {

e.printStackTrace();

}

}

}

class T implements Serializable {

int i = 10;

int j = 9;

double d = 2.3;

transient int k = 15;

}

运行结果:10,9,2.3,0 实现externalizable接口可以自行控制序列化过程,而serializable由于没有方法所以无法由程序员自己控制序列化过程。 9)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值