javaÖеÄsuperÓëc#ÖеÄbase
C#ÖжÔbaseµÄ½âÊÍ(Òý×ÔMSDN):
base ¹Ø¼ü×ÖÓÃÓÚ´ÓÅÉÉúÀàÖзÃÎÊ»ùÀàµÄ³ÉÔ±£º
µ÷ÓûùÀàÉÏÒѱ»ÆäËû·½·¨ÖØÐ´µÄ·½·¨¡£
Ö¸¶¨´´½¨ÅÉÉúÀàʵÀýʱӦµ÷ÓõĻùÀ๹Ô캯Êý¡£
»ùÀà·ÃÎÊÖ»ÄÜÔÚ¹¹Ô캯Êý¡¢ÊµÀý·½·¨»òʵÀýÊôÐÔ·ÃÎÊÆ÷ÖнøÐС£
´Ó¾²Ì¬·½·¨ÖÐʹÓà base ¹Ø¼ü×ÖÊÇ´íÎóµÄ¡£
ÔÚ±¾ÀýÖУ¬»ùÀà Person ºÍÅÉÉúÀà Employee ¶¼ÓÐÒ»¸öÃûΪ Getinfo µÄ·½·¨¡£Í¨¹ýʹÓà base ¹Ø¼ü×Ö£¬¿ÉÒÔ´ÓÅÉÉúÀàÖе÷ÓûùÀàµÄ Getinfo ·½·¨¡£
public class Person
{
protected string ssn = "444-55-6666";
protected string name = "John L. Malgraine";
public virtual void GetInfo()
{
Console.WriteLine("Name: {0}", name);
Console.WriteLine("SSN: {0}", ssn);
}
}
class Employee : Person
{
public string id = "ABC567EFG";
public override void GetInfo()
{
// Calling the base class GetInfo method:
base.GetInfo();
Console.WriteLine("Employee ID: {0}", id);
}
}
class TestClass
{
static void Main()
{
Employee E = new Employee();
E.GetInfo();
}
}
/*
Output
Name: John L. Malgraine
SSN: 444-55-6666
Employee ID: ABC567EFG
*/
------------------------------------------------------------------------------------------------------------------------------------------
JavaÖеÄsuper£º
superÊÇ×ÓÀàµ÷ÓûùÀàÖеķ½·¨
ÓÚÊÇ£¬ÉÏÃæµÄ´úÂë¾ÍÓ¦¸ÃдΪ
public class Person
{
protected string ssn = "444-55-6666";
protected string name = "John L. Malgraine";
// There is no virturl in Java
public void GetInfo()
{
Ïà¹ØÎĵµ£º
Web Service¸ÅÊö
ʲôÊÇWeb Service
Web ServiceÊÇÄܹ»»ùÓÚÍøÂ磬ÓÈÆäÊÇ»ùÓÚÍòÎ¬Íø£¨World Wide
Web£©Ö±½Óµ÷ÓõÄÄܹ»´¦ÀíÀëÉ¢ÈÎÎñ»òÁ¬ÐøÈÎÎñµÄÈí¼þÄ£ÐÍ¡£Ä¿Ç°½ÏΪÁ÷ÐеÄÓ¦ÓÃÊÇ£¬ÓÉÒ»¼Ò¹«Ë¾¶ÔÆäרÓÐÊý¾Ý½øÐзâ×°£¬ÌṩWeb
Service£¬È»ºóÆäËü¹«Ë¾¾Í¿ÉÒÔͨ¹ýInternetÀ´¶¯Ì¬Ê¹ÓÃÕâÐ ......
ÏÂÃæµÄ³ÌÐòÔÚÄ£·ÂÒ»¸ö¼òµ¥µÄʱÖÓ¡£ËüµÄÑ»·±äÁ¿±íʾһ¸öºÁÃë¼ÆÊýÆ÷£¬Æä¼ÆÊýÖµ´Ó0¿ªÊ¼Ö±ÖÁһСʱÖаüº¬µÄºÁÃëÊý¡£Ñ»·ÌåÒÔ¶¨ÆÚµÄʱ¼ä¼ä¸ô¶ÔÒ»¸ö·ÖÖÓ¼ÆÊýÆ÷Ö´ÐÐÔöÁ¿²Ù×÷¡£×îºó£¬¸Ã³ÌÐò½«´òÓ¡·ÖÖÓ¼ÆÊýÆ÷¡£ÄÇôËü»á´òÓ¡³öÊ²Ã´ÄØ£¿
public class Clock {
public static void main(String[] args) {
int minutes ......
Ê×ÏÈÀ´¸ö¼òµ¥ÄǵÄʵÀý:
package cn.vicky;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer {
private int i = 1;
private void change(long time){
System.out.println("one : " + i);
final Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Overrid ......
Java °ÑÄÚ´æ»®·Ö³ÉÁ½ÖÖ£ºÒ»ÖÖÊÇÕ»Äڴ棬ÁíÒ»ÖÖÊǶÑÄÚ´æ¡£ÔÚº¯ÊýÖж¨ÒåµÄһЩ»ù±¾ÀàÐ͵ıäÁ¿ºÍ¶ÔÏóµÄÒýÓñäÁ¿¶¼ÊÇÔÚº¯ÊýµÄÕ»ÄÚ´æÖзÖÅ䣬µ±ÔÚÒ»¶Î´úÂë¿é¶¨ÒåÒ»¸ö±äÁ¿Ê±£¬Java ¾ÍÔÚÕ»ÖÐΪÕâ¸ö±äÁ¿·ÖÅäÄÚ´æ¿Õ¼ä£¬µ±³¬¹ý±äÁ¿µÄ×÷ÓÃÓòºó£¬Java »á×Ô¶¯ÊͷŵôΪ¸Ã±äÁ¿·ÖÅäµÄÄÚ´æ¿Õ¼ä£¬¸ÃÄÚ´æ¿Õ¼ä¿ÉÒÔÁ¢¼´±»Áí×÷ËüÓá£
  ......
¶¯Ì¬´úÀíÊÇÖ¸¿Í»§Í¨¹ý´úÀíÀàÀ´µ÷ÓÃÆäËü¶ÔÏóµÄ·½·¨
¶¯Ì¬´úÀíʹÓó¡ºÏ:
•Ô¶³Ì·½·¨µ÷ÓÃ(RMI)
•
1.´´½¨Ò»¸öʵÏÖ½Ó¿ÚInvocationHandlerµÄÀ࣬Ëü±ØÐëʵÏÖinvoke·½·¨
2.´´½¨±»´úÀíµÄÀàÒÔ¼°½Ó¿Ú
3.ͨ¹ýProxyµÄ¾²Ì¬·½·¨
newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler ......