虽然是一些基础的问题,不知道你会不会》》 不会?。 天哪! 你是怎么活过来的?
1. 内部类为何无法在静态方法里实例化?2. HTTP协议是面向无连接的协议, socket一连接传输完后,就会关闭, 那HTTP实现原理是什么?是程序, 还是底层实现的?。 如果是底层实现的,我就没必要追究了, 但我觉得应该不是底层的实现, 怎样来理解这个协议呢(用java, 你也可以写一个表示的例子来模拟,不一定要实现它的功能, 但是能说清楚问题就可以),因为对计算机协议这个东西一直存在着疑惑,而且也找不到能理解的方式,
3.阻塞式 -- 关于阻塞式的实现,我一直不知道是怎样的实现方式; 我所理解的实现方式有这么一种:boolean connected = true;
while(connected) {
...........
if(boolean) { //这个boolean 由另起一线程中检测,或通过观察者模式 等等!!!来改变其值,退出死循环!
break;
}
}
答:一个静态方法无法生成一个非静态嵌套类型的对象.例:类A是外不类,类B是嵌套在A中的内部类.如果A类的一个静态成员试图直接生成一个类型为B的对象,而没有先调用一个类型为A的对象,则被视为试图在对象的合法范围外生成一个对象.另外.内部类B不是类A的静态成员,所以不能包含该类的静态数据成员.除非在类B前添加关键字:static.另外的两个问题由于知识范围限制,暂时不能回答.
public Class A
{
public A()
{
} public static void getB()
{
A a=new A();
B b=a.new B();//静态方法中实例化一个内部类
} Class B()
{ }
}
2、这个问题问的不太有水平。首先,HTTP是一种网络协议,用于访问WEB站点,而Socket叫套接字,只是Java实现的一种用于网络连接的类,这两种之间貌似没有什么联系吧?而在java中实现HTTP访问用的是最多的可能是URLConnection类了。3、线程的阻塞原来有个函数叫stop(),因为其不安全性而取消了,现在采用的阻塞方法是用set方法,举个例子:
public class A implements Runnable
{
private boolean go=true;
public A()
{}
public void run()
{
while(go)
{
.....
}
}
public void stopThread()
{
go=false;
} public static void main(String[] args)
{
Thread t=new Thread(new A());
t.start();//启动线程
t.stop();//停止线程
}
}//谁说的要用观察者模式这么复杂啊?呵呵,希望能解决你的问题
学习楼上的方法了