java继承问题 经常遇到保存下来
import java.util.ArrayList;
import java.util.HashMap;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
test1();
System.out.println("==================================");
test2();
}
public static void test1(){
ParentObj po = new ParentObj();
ArrayList list = new ArrayList();
po.doWork(list);
po = new ChildObj();
po.doWork(list);
ChildObj co = new ChildObj();
co.doWork(list);
}
public static void test2(){
ParentObj po = new ParentObj();
HashMap map = new HashMap();
po.doSport(map);
po = new ChildObj();
po.doSport(map);
ChildObj co = new ChildObj();
co.doSport(map);
}
}
import java.util.ArrayList;
import java.util.Map;
public class ParentObj {
public void doWork(ArrayList list) {
System.out.println("ParentObj doWork...");
}
public void doSport(Map map) {
System.out.println("ParentObj doSport...");
}
}
import java.util.HashMap;
import java.util.List;
public class ChildObj extends ParentObj {
public void doWork(List list) {
System.out.println("ChildObj doWork...");
}
public void doSport(HashMap map) {
System.out.println("ChildObj doSport...");
}
}
运行结果:
ParentObj doWork...
ParentObj doWork...
ParentObj doWork...
==================================
ParentObj doSport...
ParentObj doSport...
ChildObj doSport...
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。
这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。
在当前 ......
看到园子的同僚们写的《跨平台》系列之后真的是热血沸腾,有些话不得不说,不能不说。我要揭掉Java这一层层美丽的“画皮”,让大家看看画皮之下是什么?我们看到的都是一些什么?我本人并不是一定得推荐大家用.NET平台,但是我就是看不管有些人误导初学者,向他们传导什么都 ......
众所周知,在Java多线程编程中,一个非常重要的方面就是线程的同步问题。
关于线程的同步,一般有以下解决方法:
1. 在需要同步的方法的方法签名中加入synchronized关键字。
转载注明出处:http://x- spirit.javaeye.com/、http: //www.blogjava.net/zhangwei217245/
2. 使用synchronized块对需要进行同步的代码段进行 ......