class Result //这个Result是类吗?是什么意思啊
{
private int date;
private boolean status = true;
public void setStatus(boolean status){
this.status=status;
}
public boolean getStatus(){
return status;
}
public void setData(int date){
this.date=date;
}
public int getData(){
return date;
}
}class Calculator extends Thread
{
private Result result; //这句也不懂,是声明一个变量吗?
public Calculator(Result result){
this.result=result;
}
public void run(){
while (result.getStatus()) //这里的get.Status是什么方法啊?
{
try
{
sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
synchronized(result){
int sum=0;
for (int i=0;i<=100 ;i++ )
{
sum+=i;
}
result.setData(sum);
result.notifyAll();
}
}
}class Fetcher extends Thread
{
private Result result;
public Fetcher(Result result){
this.result=result;
}
public void run(){
synchronized(result){
result.setStatus(false);
try
{
result.wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(result.getData());
}
}
}public class Resulttest
{
public static void main(String[] args){
Result r = new Result();
Calculator c=new Calculator(r);
Fetcher f = new Fetcher(r);
c.start();
f.start();
}
}问题都在上面的注释,刚学java没几天,还请多多指教
{
private int date;
private boolean status = true;
public void setStatus(boolean status){
this.status=status;
}
public boolean getStatus(){
return status;
}
public void setData(int date){
this.date=date;
}
public int getData(){
return date;
}
}class Calculator extends Thread
{
private Result result; //这句也不懂,是声明一个变量吗?
public Calculator(Result result){
this.result=result;
}
public void run(){
while (result.getStatus()) //这里的get.Status是什么方法啊?
{
try
{
sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
synchronized(result){
int sum=0;
for (int i=0;i<=100 ;i++ )
{
sum+=i;
}
result.setData(sum);
result.notifyAll();
}
}
}class Fetcher extends Thread
{
private Result result;
public Fetcher(Result result){
this.result=result;
}
public void run(){
synchronized(result){
result.setStatus(false);
try
{
result.wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(result.getData());
}
}
}public class Resulttest
{
public static void main(String[] args){
Result r = new Result();
Calculator c=new Calculator(r);
Fetcher f = new Fetcher(r);
c.start();
f.start();
}
}问题都在上面的注释,刚学java没几天,还请多多指教
private Result result; //这句也不懂,是声明一个变量吗?声明一个类的实例
while (result.getStatus()) //这里的get.Status是什么方法啊?这个类的实例调用本身类的一个方法:getStatus(),这个方法在这里定义了:
public boolean getStatus(){
return status;
}
2.你看有给这个东西付值吗? 就是个指引.或者说是个标识.或者书签.
3.这个还不懂?看到这个没?public boolean getStatus(){
return status;
}去好好看看书..再多写点.刚刚学写代码.就是这样的.和你当初学英文读不出音标是一个原因.区别一个是和老外说.一个是和计算机说
用class修饰的当然是类
2.private Result result; //这句也不懂,是声明一个变量吗?
这里声明了一个Result类型的引用变量
3.while (result.getStatus()) //这里的get.Status是什么方法啊?
Result类中定义了一个方法public boolean getStatus(){}
是getStaus()不是get.Status()
private int date;
private boolean status = true;
public void setStatus(boolean status){
this.status=status;
}
public boolean getStatus(){
return status;
}
public void setData(int date){
this.date=date;
}
public int getData(){
return date;
}
}class Calculator extends Thread
{
private Result result; //是声明一个变量,就像飞机的一个组成零件之一
public Calculator(Result result){
this.result=result;
}
public void run(){
while (result.getStatus()) //这里的get.Status表示要拿到飞机零件中的某一个用途
{
try
{
sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
synchronized(result){
int sum=0;
for (int i=0;i<=100 ;i++ )
{
sum+=i;
}
result.setData(sum);
result.notifyAll();
}
}
}class Fetcher extends Thread
{
private Result result;
public Fetcher(Result result){
this.result=result;
}
public void run(){
synchronized(result){
result.setStatus(false);
try
{
result.wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(result.getData());
}
}
}public class Resulttest
{
public static void main(String[] args){
Result r = new Result();
Calculator c=new Calculator(r);
Fetcher f = new Fetcher(r);
c.start();
f.start();
}
}
不过,看得出楼主对Java中类与类之间的那些逻辑还没搞清楚,加把劲呀LZ