a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 161|回复: 0

[基础知识] JAVA面向对象编程课堂笔记30

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
UDP编程:
/ k/ e' K) Z- q. fDatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。
0 R1 ?7 |+ D. n: X) jDatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中。 1 P( q6 k5 I0 O) u" L
UDP也需要现有Server端,然后再有Client端。 1 ^* K6 \! z' o+ i, Q' d
两端都是DatagramPacket(相当于电话的概念),需要NEW两个DatagramPacket。 3 x  K, s, z6 j. h  T/ @
InetAddress:网址 0 G* N- _7 S4 t) A% d9 G8 h/ q
这种信息传输方式相当于传真,信息打包,在接受端准备纸。
" h) I0 v3 u6 h+ f: ]1 r8 q模式:
5 B2 l0 M; S8 \- B8 s/ Z' W5 O$ O发送端:Server:
! ?6 b2 q0 _' M. aDatagramPacket  inDataPacket=new DatagramPacket ((msg,msg.length); InetAdress.getByName(ip),port);
) Z) ]' V( [* h% r/ `8 w0 e接收端:
3 d1 V+ y/ w: L# LclientAddress=inDataPack.getAddress();//取得地址
  [6 T+ Q3 U6 ]clientPort=inDataPack.getPort();//取得端口号 . R7 S# Q, l/ y
datagramSocket.send;  //Server
: O. u6 W+ R* O. o9 O$ gdatagramSocket.accept;  //Client
- c. }  I% D# tURL:在应用层的编程
8 K) c  s: a, b: ?5 T注意比较:
9 j% y' a, ^) @1 P9 m( z9 Q- [http://Localhost:8080/directory  //查找网络服务器的目录
5 M/ G: E9 R. f* L9 H. d! Wfile://directory                 //查找本地的文件系统 & s; K+ m+ ]1 }! s& O
java的开发主要以http为基础。 . G1 Z8 G# D1 p) A; v# |& s. J
反射:主要用于工具和框架的开发。
% Z! g1 ]: c* y反射是对于类的再抽象;通过字符串来抽象类。 ! g2 @  y, x: h- ]& u. F. V# z  n
JAVA类的运行:classLoader:加载到虚拟机(vm)
, ?# B4 U0 r% ~  P' D. J8 qVm中只能存储对象(动态运行时的概念),.class文件加载到VM上就成为一个对象,同时初始静态成员及静态代码(只执行一次)。 $ C, r) J1 S$ D1 j7 B7 h
Lang包下有一个类为Class:在反射中使用。此类中的每个对象为VM中的类对象,每个类都对应类类的一个对象(class.class)。
$ i) s' I1 [* B7 E8 X6 _例:对于一个Object类,用getClass()得到其类的对象,获得类的对象就相当于获得类的信息,可以调用其下的所有方法,包括类的私有方法。
) E% ~; w: [( o注意:在反射中没有简单数据类型,所有的编译时类型都是对象。 / a$ c5 B/ d" d5 g
反射把编译时应该解决的问题留到了运行时。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-8 11:14 , Processed in 0.231012 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表