·¢ÏÖÒ»¸öc++¶à̬Óëjava¶à̬²»Í¬µÄµØ·½
¸Õ¸Õ¿´µ½Ò»ÆªÎÄÕÂÌá³öc++¶à̬Óëjava¶à̬²»Í¬µÄµØ·½£¬»ù±¾Òâ˼ÈçÏ£º
Çë¿´C++´úÂ룺
class Base
{
public:
Base()
{
init();
}
virtual ~Base() {}
protected:
int value;
virtual void init()
{
value = 100;
}
};
class Derived : public Base
{
public:
Derived()
{
init();
}
protected:
void init()
{
cout << "value = " << value << endl;
// ×öһЩ¶îÍâµÄ³õʼ»¯¹¤×÷
}
};
int main(int argc, char* argv[])
{
Base* pb;
pb = new Derived();
delete pb;
return 0;
}
Ö´Ðнá¹ûÊÇ
value = 100
ÔÙ¿´java´úÂ룺
class Base
{
public Base()
{
init();
}
protected int value;
protected void init()
{
value = 100;
}
}
class Derived extends Base
{
public Derived()
{
init();
}
protected void init()
{
System.out.println("value = " + value);
// ×öһЩ¶îÍâµÄ³õʼ»¯¹¤×÷
}
}
public class Test
{
public static void main(String[] args)
{
Base base = new Derived();
}
}
Ö´Ðнá¹ûÊÇ
value = 0
value = 0
ÔÚjavaÖÐ×ÓÀàµÄinit·½·¨ÖØÐ´Á˸¸ÀàµÄinit·½·¨£¬µ¼Ö²»ÄÜÕýÈ·Íê³É³õʼ»¯¡£¿´µ½ÕâÀïÎÒ˼¿¼ÁËһϣ¬ÓÉÓÚ×ÓÀàÖØÐ´Á˸¸ÀàµÄͬÃûº¯Êý£¬²Åµ¼Ö±¾Ó¦¸ÃÖ´Ðеĺ¯ÊýûÓÐÖ´ÐУ¬Èç¹ûÐ޸ĸ¸ÀàµÄ³õʼ»¯º¯Êý»òÕß×ÓÀàµÄ³õʼ»¯º¯Êý£¬Ê¹×ÓÀ಻»á·¢ÉúÖØÐ´£¬ÊDz»ÊǾͲ»»á·¢ÉúÉÏÃæµÄÇé¿ö£¿»òÐí¼´Ê¹ÊÇ×ÓÀàÓ븸À࣬µ±Éæ¼°µ½¸÷×Եijõʼ»¯µÄµØ·½Ê±¾Í²»Ó¦¸ÃʹÓöà̬ÐÔ¡£
Ïà¹ØÎĵµ£º
ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£
ÔÚµ±Ç° ......
import java.util.ArrayList;
import java.util.HashMap;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
test1();
System.out.println("==================================");
test2();
......
import java.util.Timer;
import java.util.TimerTask;
public class EggTimer {
private final Timer timer = new Timer();
private final int minutes;
public EggT ......