C# VS JAVA 差异 (未完待续)
2015-12-21 17:15
387 查看
1. 静态构造函数
C#中有静态构造函数, Java中没有静态构造函数。其实Java中有一个类似静态构造函数的东东,称作静态初始化,或者静态代码块,可以通过这样的代码实现相同的功能:
但是Java中静态代码块和C#静态构造函数还是不一样的。C#中静态构造函数在其他静态成员初始化后再执行,而java中静态代码块和其他静态成员谁在先谁就先执行。
View Java Code
7Exception
Java中Checked Exception是必须要被try_catch捕获,编译器会强制检查的。在C#中是否捕获Exception并不是由编译器强制的。
C#中有静态构造函数, Java中没有静态构造函数。其实Java中有一个类似静态构造函数的东东,称作静态初始化,或者静态代码块,可以通过这样的代码实现相同的功能:
但是Java中静态代码块和C#静态构造函数还是不一样的。C#中静态构造函数在其他静态成员初始化后再执行,而java中静态代码块和其他静态成员谁在先谁就先执行。
public class AskEvent extends EventObject { private static final long serialVersionUID = 1L; private Object Evnetsource; private String name; public Object getEvnetsource() { return Evnetsource; } public String getName() { return name; } public AskEvent(Object source,String name) { super(source); Evnetsource = source; this.name = name; } } public interface Listener extends EventListener { public void listen(AskEvent ae); } public class Ask { private Listener l ; private List<String> names = new ArrayList<String>(); public void addListener(Listener l){ this.l = l; } public void addName(String name){ names.add(name); } public void setFlag(boolean flag){ if(flag){ if(names.size()==0) System.out.println("Input Name!!!"); for(int i = 0;i<names.size();i++){ l.listen(new AskEvent(this,names.get(i))); } names.clear(); } } } public class EventTest { public static void main(String[] args) { System.out.println("START"); Scanner scan = new Scanner(System.in); Ask ask = new Ask(); ask.addListener(new Listener(){ public void listen(AskEvent ae) { if(ae.getName().equals("a")) System.out.println(ae.getName() + "good man"); else System.out.println(ae.getName() + "bad man"); } }); while(true){ System.out.print("input name:"); final String name = scan.nextLine(); if(name.equals("exit")) break; if(name.equals("print")) { ask.setFlag(true); continue; } ask.addName(name); } System.out.println("OVER"); } }
View Java Code
7Exception
Java中Checked Exception是必须要被try_catch捕获,编译器会强制检查的。在C#中是否捕获Exception并不是由编译器强制的。
相关文章推荐
- Java线程: 线程调度
- 深入Spring IOC源码之ResourceLoader
- java学习笔记-equals
- Java 泛型类型的一些限制
- java设计模式----观察者模式
- Java入门学习(2)多态的理解
- JDK7和JDK8中HashMap的结构优化
- 菜鸟猿大战Java之集合框架系列(三)
- Java中用反射的方式获取类中的所有属性和方法,以及获取属性的默认值,设置属性的默认值
- Myeclipse10下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3
- java-汉字转化拼音(纯java)
- HQL语句中的表名是javabean的类名
- java-汉字转换拼音-pinyin4j.jar
- Java基础--工具类(Collections、Arrays)及其他常用类
- Java的内存泄漏
- java 数据库连接池
- java工具类二
- Hadoop 序列化前的准备:Java 序列化
- Java线程:线程状态
- Java程序中作业调度-Quartz