Java蜘蛛人 欢迎大家

欢迎大家 来到我的blog , 如果我身边的朋友 有什么不懂可以直接来问我 我会细心的帮助你的. 如果网络上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
posts - 54, comments - 192, trackbacks - 0, articles - 1

 

JSP实现帐号密码登录的一个小项目 做成视频 。  谢谢大家来观看。 有什么意见跟我直接说QQ48187537

link

posted @ 2007-12-08 00:11 Java蜘蛛人 --郑成桥 阅读(800) | 评论 (6)编辑 收藏

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication9
{
    
    
class Cat
    
{
        
public event Mydelegate MyEvent;
        string ba;
        
public void show()
        
{
            ba
= Console.ReadLine(); //输入内容
            aa();
        }

        
public void aa()
        
{
            
if (ba != null//如果ba不等于空 那么时间被激活
                MyEvent();
        }

    }

}


using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication9
{
    
class Test
    
{
        
public void Test1()
        
{
            Console.WriteLine(
"主人被吵醒了..");
        }

    }

}


using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication9
{
    
public delegate void Mydelegate();
    
class Program
    
{

        
static void Main(string[] args)
        
{
            Cat aa 
= new Cat();
            Test bb 
= new Test();
            aa.MyEvent 
+= new Mydelegate(bb.Test1);//用委托来订阅定义事件(必须使用+=). 如果事件被激活 委托括号里的东西执行

            aa.show(); 
//启动事件
        }

    }

}

posted @ 2007-11-22 19:08 Java蜘蛛人 --郑成桥 阅读(153) | 评论 (0)编辑 收藏

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication8
{
    
class Test
    
{
        
public void show(int num1, int num2)
        
{
            
int d = num1 * num2;
            Console.WriteLine(
"相乘的结果{0}", d);
           
        }

        
public void show1(int num1, int num2)
        

            
int h= num1 / num2;
            Console.WriteLine(
"相除的结果{0}",h);
           
           
            
        }

        
public void show2(int num1, int num2)
        
{

            
int c = num1 * num2*10;
            Console.WriteLine(
"相乘乘以10的结果{0}", c);
        }

    }

}




using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication8
{
    
public delegate void Mydelegate(int num1,int num2);
    
class Program
    
{
        
        
static void Main(string[] args)
        
{
            
            Test aa 
= new Test();
            
//定义委托的好处就是这里 aa.show  如果该一下 改成aa.show1 这样 代码不用修改很多 达到的效果也是一样的
           Mydelegate [] dd ={new Mydelegate(aa.show),new Mydelegate(aa.show1),new Mydelegate(aa.show2)};
           
//dd[0](5,4);
          haha(dd, 54);
        }

        
public static void haha(Mydelegate[] asd, int x, int y)
        
{
           
for (int i = 0; i <= 2; i++)
                  asd[i](x, y);
        }

    }

     
}



posted @ 2007-11-22 18:00 Java蜘蛛人 --郑成桥 阅读(221) | 评论 (0)编辑 收藏

ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。  
    使用ref前必须对变量赋值,out不用。   
    out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。   
    区别可以参看下面的代码:   
  using System;
  class TestApp
  {
   static void outTest(out int x, out int y)
   {//离开这个函数前,必须对x和y赋值,否则会报错。
    //y = x;
    //上面这行会报错,因为使用了out后,x和y都清空了,需要重新赋值,即使调用函数前赋过值也不行
    x = 1;
    y = 2;
   }
   static void refTest(ref int x, ref int y)
   {
    x = 1;
    y = x;
   }
   public static void Main()
   {
    //out test
    int a,b;
    //out使用前,变量可以不赋值
    outTest(out a, out b);
    Console.WriteLine("a={0};b={1}",a,b);
    int c=11,d=22;
    outTest(out c, out d);
    Console.WriteLine("c={0};d={1}",c,d);
  
    //ref test
    int m,n;
    //refTest(ref m, ref n);
    //上面这行会出错,ref使用前,变量必须赋值
  
    int o=11,p=22;
    refTest(ref o, ref p);
    Console.WriteLine("o={0};p={1}",o,p);
   }
  }

posted @ 2007-11-21 12:29 Java蜘蛛人 --郑成桥 阅读(486) | 评论 (0)编辑 收藏

/*
 *实现序列化的克隆.
 *
 *
 *确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象
随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以
有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,
可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些
保存下来的对象。这种情况下就要用到对象的序列化。
 *
 *
 *
 
*/

import java.util.*;
import java.io.*;
public class SerialCloneTest
{
    
public static void main (String[] args) 
    
{
        Employee  harry
=new Employee("Harry Hacke",3500,1989,10,1);
        
        Employee harry2
=(Employee)harry.clone();
        
        harry.lixi(
50);
        System.out.println (harry);
        System.out.println (harry2);
    }

}

class SerialCloneable implements Cloneable,Serializable
{
    
public Object clone()
    
{
        
try
        
{
            ByteArrayOutputStream bout
=new ByteArrayOutputStream();  
            ObjectOutputStream out
=new ObjectOutputStream(bout);
            out.writeObject(
this);
            out.close();
            
            ByteArrayInputStream bin
=new ByteArrayInputStream(bout.toByteArray());
            ObjectInputStream in
=new ObjectInputStream(bin);
            Object ret
=in.readObject();
            in.close();
            
return ret;
        }

        
catch(Exception e)
        
{
            e.printStackTrace();
            
return null;
        }

    }

}

class Employee extends SerialCloneable   //Employee 继承了SerialCloneable 就有他的克隆方法
{
    
private String name;
    
private double salary;
    
private Date hireDay;
    
public Employee(String n,double s,int year,int month,int day)
    
{
        name
=n;
        salary
=s;
        GregorianCalendar calendar
=new GregorianCalendar(year,month-1,day);
        hireDay
=calendar.getTime();
    }

    
public String getName()
    
{
        
return name;
    }

    
public double getSalary()
    
{
        
return salary;
    }

    
public Date getHireDay()
    
{
        
return hireDay;
    }

    
public String toString()
    
{
        
return getClass().getName()+"   name:"+name
            
+"   salary"+salary
                
+"   hireDay:"+hireDay;
    }

    
public void lixi(double b)
    
{
        
double aa=salary*b/100;
        salary
+=aa;
    }

}

posted @ 2007-10-10 01:17 Java蜘蛛人 --郑成桥 阅读(329) | 评论 (0)编辑 收藏

     摘要: 简单的概括下多线程的用法   多线程   class NewThread implements Runnable {        Thread t;        NewT...  阅读全文

posted @ 2007-10-09 00:25 Java蜘蛛人 --郑成桥 阅读(381) | 评论 (0)编辑 收藏

 

FileReader fr=new FileReader(“zcqzcq.doc”);

BufferedReader br=new BufferedReader(fr);

 

这样看起来可读性很强。看起来简单

但是为了简单

可以这样:

BufferedReader br=new BufferedReader(new FileReader(“zcqzcq.doc”));

高手一般都这样用。。习惯了就好了

 

数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。

import java.io.*;

public class Test0

{

       public static void main (String[] args)

       {

             byte [] aa=new byte [3];

              try

              {

                     DataOutputStream bos=new DataOutputStream(new FileOutputStream("zcq.doc",true)); 

                     bos.writeInt(123);//写入一个32位的整数

                     bos.writeUTF("oxffff");

                     bos.write(aa);

                     bos.writeDouble(1.464654);

              }

              catch(IOException e)

              {

                     e.printStackTrace();

              }

    }

}

 

今天终于换了个JDK  换成了最新的1.6  结果环境变量弄了半天才弄好 真是郁闷

现在写下来 是方便大家看    然后我自己以后不会出这样的低级错误了。。 郁闷

*                            首先到java.sun.com

*                            DownloadsàJ2SEàJDK 6 Update 2àAccept  然后选下面第一个就ok

*                            装好了设置环境变量

*                            Classpath=.;C:\Program Files\Java\jre1.6.0_02\lib\rt.jar

*                            Path=C:\Program Files\Java\jdk1.6.0_02\bin;C:\Program Files\Java\jre1.6.0_02\bin

*                            JAVA_HOME=C:\Program Files\Java\jdk1.6.0_02

 

就这样就装好了 JDK  哈哈

posted @ 2007-09-30 04:48 Java蜘蛛人 --郑成桥 阅读(380) | 评论 (1)编辑 收藏


   桃花坞里桃花庵,桃花庵里桃花仙。
   桃花仙人种桃树,又拿桃花换酒钱。
public class ReturnFinally
{
    
public static void f(int i)
    
{
        
try
        
{
            System.out.println (
"111");
            
if(i==1)return;
            System.out.println (
"222");
            
if(i==2)return;
            System.out.println (
"333");
            
if(i==3)return;
            System.out.println (
"end");
            
return;
        }

        
finally
        
{
            System.out.println (
"REturn 哈哈");
        }

    }

    
public static void main (String[] args) 
    
{
        
for(int i=0;i<=4;i++)
        
{
            f(i);
        }

    }

}


看看他的返回语句 可以用循环 一个个输出

posted @ 2007-09-27 21:53 Java蜘蛛人 --郑成桥 阅读(144) | 评论 (0)编辑 收藏

一个类 里面含有另一个类  这就是内部类 。。(简单的 概括。。)


/*
 * 题目(1)
 *
 * 编写一个名为Outer得到类,它包含一个名为Inner的类。 在Outer中添加一个方法,
 * 它返回一个Inner类型的对象。在mian()中,创建并初始化一个指向某个Inner的对象。。
 
*/


public class Outer
{
    
public Inner inner()
    {
        
return new Inner();
    }
     class 
Inner
    {
        void show()
        {
            System.out.println("asdasdasd");
        }
    }
    
public static void main (String[] args) 
    {
        
Outer aa=new Outer();
        
Outer.Inner c=aa.inner();  注意如果Inner是内部类的话 创建它的时候一定要像这样定义。
        c.show();
        
    }
}

明天再和大家讲讲 匿名类  等一些常见的内部类。

                                                                                                                                             ——作者:郑成桥

posted @ 2007-09-13 22:50 Java蜘蛛人 --郑成桥 阅读(263) | 评论 (0)编辑 收藏

假如我们在网上下载了 一个字节码文件 后缀名是class 的   我们看不到他们原文件 。。那怎么办呢.?  我们又想使用这个文件里面的方法 .. 所以我现在教大家使用 Class 来反射.

假如我下载了一个Employee的字节码文件

public class Test1
{
    static Employee asd
=new Employee("xiaoqiao",8000);
    static Test1 dd
=new Test1();
    
public static void main (String[] args) 
    {
        try {
             Class c1
=Test1.class;
             System.out.println(asd.getName()
+"===="+asd.getSalary());
            }
        catch (Exception ex) 
        {
            ex.printStackTrace();
        }
    }    
}



大家应该懂了吧 。  这个方法很难讲清楚的。  如果实在不懂 直接加我的QQ 我跟你们来做一做。 呵呵。 今天就讲这些。  请每天关注我的 blog、 每天更新。

posted @ 2007-09-03 17:22 Java蜘蛛人 --郑成桥 阅读(283) | 评论 (2)编辑 收藏

仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页