黑马程序员技术交流社区

标题: 导包后也无法使用类中的方法 [打印本页]

作者: 王龙彪    时间: 2012-7-19 18:49
标题: 导包后也无法使用类中的方法
本帖最后由 王龙彪 于 2012-7-19 22:18 编辑
  1. import java.net.*;

  2. public class UdpTest
  3. {
  4.     public static void main(String[] args)throws Exception
  5.     {
  6.         //new UdpSend();
  7.         System.out.print("hahaha");
  8.     }
  9.    
  10.     public static void sop(Object object)
  11.     {
  12.         System.out.println(object);
  13.     }
  14. }

  15. class UdpSend
  16. {
  17.     DatagramSocket ds = new DatagramSocket();
  18.     byte[] buffer = "vivi vikarm ...".getBytes();
  19.     DatagramPacket dp = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("localhost"), 4444);
  20.    
  21.     ds.send(buffer);////就是这里,我已经导入包了,还是无法使用send()函数,下面的close()也一样报错
  22.     ds.close();
  23. }
复制代码

作者: 张世威    时间: 2012-7-19 19:07


1、你看看你这个类能这样写吗?

       这两句算这个类的什么?属性、方法、??

1
2、建议你把这2局放到一个方法里面。






作者: 王龙彪    时间: 2012-7-19 19:15
张世威 发表于 2012-7-19 19:07
  • class UdpSend
  • {
  •     DatagramSocket ds = new DatagramSocket();

  • 谢谢提醒,本来是放到主类的一个方法里面的
    作者: 王宝康    时间: 2012-7-19 19:18
    java类中只是定义它的属性,以及对外提供的方法,send()以及是close()方法是通过对象调用的
    1. package demo;

    2. import java.net.DatagramPacket;
    3. import java.net.DatagramSocket;
    4. import java.net.InetAddress;


    5. public class UdpTest
    6. {
    7.     public static void main(String[] args)throws Exception
    8.     {
    9.             DatagramSocket ds = new DatagramSocket();
    10.             byte[] buffer = "vivi vikarm ...".getBytes();

    11.               DatagramPacket dp = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("localhost"), 4444);

    12.               ds.send(dp);
    13.               ds.close();           
    14.         System.out.print("hahaha");
    15.     }
    16.    
    17. }
    复制代码

    作者: 罗宵    时间: 2012-7-19 20:03
    class UdpSend
    {
        DatagramSocket ds = new DatagramSocket();
        byte[] buffer = "vivi vikarm ...".getBytes();
        DatagramPacket dp = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("localhost"), 4444);
       
        ds.send(buffer);////就是这里,我已经导入包了,还是无法使用send()函数,下面的close()也一样报错
        ds.close();
    }
    send()方法里面应该是打包的dp,不是放数组buffer。




    欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2