[code]while(true)
{
Socket s = ss.accept();
new Thread(new Servicer(s)).start();
}
ss.close();[/code]记得张老师 写过一段这样的一段代码时候 程序可能会报错,因为可能进入死循环,而不能执行下面代码。
如果这样写[code]boolean bRunning = true;
while(bRunning)
{
Socket s = ss.accept();
new Thread(new Servicer(s)).start();
}
ss.close();[/code]程序就不会认为是死循环了。
懂点了吗?
为什么子类覆写父类方法时,访问权限不能比父类更严格?????
Java是建立在建立在反射基础上的
只有程序运行到某句代码时,才能知道这句代码是否可行。
如果不限制子类的访问权限,方法的重写将毫无意义。
我给你举个例子
一个水杯 ,有一个茶杯,水杯的水可以倒入茶杯。茶杯继承水杯的属性和方法,添加了新方法可以泡茶水了。
如果这时改变了茶杯的访问权限,变为私有了。
水杯不能往茶杯倒水了。
会不会出错。 怎么泡茶水。。。
所以说 重写方法不能使用比被重写方法更严格的访问权限。
这就是一个规则,就是一个规定!!!!!! |