或者每个方法就是一个进程?
就那么个意思,但是对进程不甚了解,也不知道这样问有没有逻辑问题。
静候佳音!
----------------解决方案--------------------------------------------------------
java是oop思想的,每一个类必须new之后产生一个新对象之后才可以使用。
进程就是执行的程序,在windows下不是有任务管理去么?那么多正在执行的程序其实都是一个个的进程。
----------------解决方案--------------------------------------------------------
一个JAVA程序才是一个进程,进程里面可以有很多线程
new 一个对象和执行一个方法都是一个线程里面做的事
----------------解决方案--------------------------------------------------------
封哥就是不一样啊哈哈
这一手就这么明白,一看就懂了,不愧是高~~手啊哈哈、
还有个小疑问:声明对象的时候是不是也有个线程产生了?
----------------解决方案--------------------------------------------------------
当然不是
线程是你自己去建的
如果不创建的话,用户只有一个主线程在运行
----------------解决方案--------------------------------------------------------
有点糊涂,因为看了一道贴是这样的:
abstract class Exam4 {
int j=3;
Exam4()
{
print();
{
System.out.println(j);
}
}
abstract void print();
}
public class Exam4Sub extends Exam4{
int i=1;
void print()
{
System.out.println(i);
}
public static void main(String[] args) {
Exam4Sub e=new Exam4Sub();
e.print();
}
}
输出结果是0 1 3
是不是说明在exam4sub e;的时候电脑打印了一个 0
这难道不是线程干的么?望不吝赐教。
----------------解决方案--------------------------------------------------------
结果是0 3 1吧
这是对象初始化顺序的问题
你可以去J2SE版找找相关的帖子
----------------解决方案--------------------------------------------------------
哦
一下字明白了,是我糊涂了。。。
再顺便问一下,在applet里面paint和repaint和update都是虚拟机自己创建的进程么?
----------------解决方案--------------------------------------------------------
paint是系统调用的,有一个专门的线程来做这个事情
----------------解决方案--------------------------------------------------------
恩~~有道理
再帮我改一个程序:
import java.awt.*;
import java.applet.*;
public class changeColor extends Applet{
public void init(String args[]){
Frame f = new Frame("change color box");
f.setSize(300,300);
}
public void paint(Graphics g){
int k ;
for (int i = 0; i <= 255; i++){
k = i;
for (int j = 0; j <= 255; j++){
g.setColor(new Color(k, i, j));
g.drawLine(i, j, i, j);
}
}
repaint();
}
}
我只会extends 成 applet 来做,不是applet的话我就不会用graphics g 了
劳烦帮我实现一下,应该是个很肤浅的问题。自鄙一下
----------------解决方案--------------------------------------------------------