可以通过这个类的全局变量和定义一个减法的方法来实现呀.
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的银州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
按你说的例子我们可以这么写
首先,定义一个要被共享变量的类:
public class Share {
static int a = 100;// 定义一个值为100的静态全局变量
public static void minus(int value){//定义一个静态方法
a = a -value;
}
}
创建一个测试类
public class Test {
public static void main (String[] args){
Share.minus(10); //比如我们要给上面的a变量减10
System.out.println(Share.a);//输出之前定义的变量的结果为:90
}
}
你可以这样,在A类中定义一个C类的引用:\x0d\x0aClass A{\x0d\x0a private C c = null;\x0d\x0a public C getC(){\x0d\x0a return this.c;\x0d\x0a }\x0d\x0a public void setC(C cc){\x0d\x0a this.c = cc;\x0d\x0a }\x0d\x0a}\x0d\x0a然后A a = new A();\x0d\x0aa.getC();就可以得到C类的实例了。
public
class
ThreadNotShare
extends
Thread{
private
int
share
=
5;
public
void
run(){
for(int
i
=
;
i
50
;
i++)
if(this.share
0){
System.out.println("shar
=
"
+
this.share--);
}
}
public
static
void
main(String
args[])
{
ThreadNotShare
t1
=
new
ThreadNotShare();
ThreadNotShare
t2
=
new
ThreadNotShare();
ThreadNotShare
t3
=
new
ThreadNotShare();
t1.start();
t2.start();
t3.start();
}
}
上面是一个继承Thread之后,因为由一个线程类分别构造了3个对象,所以各自有各自的数据,对象之间是数据不共享的
至于楼主的问题
例二表面看是继承了一个Thread类,但是调用的方法依旧是把一个线程类的对象交给Thread去构造,和实现Runnable接口在本质上没有任何区别不是吗,都是由一个对象构造出的线程,当然是共享同一份数据了
库代码共享就是将多个开发人员的代码集合使用,及时更新。比如A人员负责登陆模块,B负责验证码模块,库代码共享可以将A和B所做的模块进行整合。同时又可以分工合作
function table1(stat_array,table_left,table_top,all_width,all_height,table_title,X_unit,Y_unit)
dim bg_color(10)
bg_color(1)="#ff1919"
bg_color(2)="#ffff19"
bg_color(3)="#1919ff"
bg_color(4)="#19ff19"
bg_color(5)="#fc0"
bg_color(6)="#3cc"
bg_color(7)="#ff19ff"
bg_color(8)="#993300"
bg_color(9)="#f60"
bg_color(10)="#ff8c19"
if X_unit "" then
X_unit = X_unit
end if
if Y_unit "" then
Y_unit = Y_unit
end if
num1 = ubound(stat_array,1)
line_temp=split(stat_array(0,1),",")
num2 = ubound(line_temp,1)+1
dim line_code
redim line_code(num1,num2)
for j=1 to num2
line_code(0,j) = line_temp(j-1)
next
for i=1 to num1
line_temp = split(stat_array(i,1),",")
line_code(i,0) = stat_array(i,2)
for j=1 to num2
line_code(i,j) = cdbl(line_temp(j-1))
next
next
value_Max=0
for i=1 to num1
for j=1 to num2
if value_Maxline_code(i,j) then value_Max=line_code(i,j)
next
next
value_Max = cint(value_Max)
value_Max_str =cstr(value_Max)
if value_Max9 then
temp=mid(value_Max_str,2,1)
if temp4 then
temp2=(int(value_Max/(10^(len(value_Max_str)-1)))+1)*10^(len(value_Max_str)-1)
else
temp2=(int(value_Max/(10^(len(value_Max_str)-1)))+0.5)*10^(len(value_Max_str)-1)
end if
else
if value_Max4 then temp2=10 else temp2=5
end if
item_hight = temp2/5
item_width = 20000/(num2-1)
response.Write "v:rect id='background' style='position:absolute;left:"table_left"px;top:"table_top"px;WIDTH:"all_width"px;HEIGHT:"all_height"px;' fillcolor='#EFEFEF' strokecolor='gray'"
response.Write " v:shadow on='t' type='single' color='silver' offset='4pt,4pt'/"
response.Write "/v:rect"
response.Write "v:group ID='table' style='position:absolute;left:"table_left"px;top:"table_top"px;WIDTH:"all_width"px;HEIGHT:"all_height"px;' coordsize = '27500,12800'"
response.Write " v:Rect style='position:relative;left:1500;top:200;width:23000;height:800'filled='false' stroked='f'"
response.Write " v:TextBox inset='0pt,0pt,0pt,0pt'"
response.Write " table width='100%' border='0' align='center' cellspacing='0'"
response.Write " tr"
response.Write " td align='center' valign='middle'div style='font-size:15pt; font-family:黑体;'B"table_title"/B/div/td"
response.Write " /tr"
response.Write " /table"
response.Write " /v:TextBox"
response.Write " /v:Rect "
response.Write " v:rect id='back' style='position:relative;left:1700;top:1200;width:20500; height:10500;' fillcolor='#9cf' strokecolor='#DFDFDF'"
response.Write " v:fill rotate='t' angle='-45' focus='100%' type='gradient'/"
response.Write " /v:rect"
response.Write " v:rect id='back2' style='position:relative;left:23000;top:1200;width:4000; height:"(10500)";' fillcolor='#9cf' stroked='t' strokecolor='#0099ff'"
response.Write " v:fill rotate='t' angle='-175' focus='100%' type='gradient'/"
response.Write " v:shadow on='t' type='single' color='silver' offset='3pt,3pt'/"
response.Write " /v:rect"
for i=1 to num1
if i=1 then
displaystr=""
else
displaystr="none"
end if
response.Write " div style='cursor:hand;' onmouseover='moveon(rec"i",line_"i")' onmouseout='moveout(rec"i",line_"i","i")' onclick='clickit("i")'"
response.Write " v:Rect id='rec"i"' style='position:relative;left:23100;top:"(i-1)*10200/10+1450";width:3800;height:800;display:"displaystr";' fillcolor='#efefef' strokecolor='"bg_color(i)"'"
response.Write " v:fill opacity='.6' color2='fill darken(118)' o:opacity2='.6' rotate='t' method='linear sigma' focus='100%' type='gradient'/"
response.Write " /v:Rect"
response.Write " v:Rect style='position:relative;left:23200;top:"(i-1)*10200/10+1500";width:600;height:700' fillcolor='"bg_color(i)"' stroked='f'/"
response.Write " v:Rect style='position:relative;left:24000;top:"(i-1)*10200/10+1500";width:3400;height:700' filled='f' stroked='f'"
response.Write " v:TextBox inset='0pt,4pt,0pt,0pt' style='font-size:9pt;'div align='left'"stat_array(i,2)"/div/v:TextBox"
response.Write " /v:Rect "
response.Write " /div "
next
response.Write " v:line ID='X' from='1700,11700' to='22700,11700' style='z-index:2' strokecolor='#000000' strokeWeight=1ptv:stroke EndArrow='Classic'//v:line"
response.Write " v:line ID='Y' from='1700,900' to='1700,11700' style='z-index:2' strokecolor='#000000' strokeWeight=1ptv:stroke StartArrow='Classic'//v:line"
response.Write " v:Rect style='position:relative;left:100;top:700;width:1500;height:500' filled='false' stroked='false'"
response.Write " v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'div align='right'"Y_unit"/div/v:TextBox"
response.Write " /v:Rect "
response.Write " v:Rect style='position:relative;left:22200;top:11900;width:2000;height:500' filled='false' stroked='false'"
response.Write " v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'div align='left'"X_unit"/div/v:TextBox"
response.Write " /v:Rect "
for i=0 to 4
response.Write " v:line from='1300,"i*2000+1700"' to='1700,"i*2000+1700"' style='z-index:2' strokecolor='#000000'/v:line"
response.Write " v:line from='1700,"i*2000+1700"' to='2200,"i*2000+1200"' style='z-index:2' strokecolor='#0099FF'/v:line"
response.Write " v:line from='2200,"i*2000+1200"' to='22200,"i*2000+1200"' style='z-index:2' strokecolor='#0099FF'/v:line"
response.Write " v:line from='2200,"i*2000+2200"' to='22200,"i*2000+2200"' style='z-index:2' strokecolor='#0099FF'"
response.Write " v:stroke dashstyle='Dot'/"
response.Write " /v:line"
response.Write " v:Rect style='position:relative;left:100;top:"i*2000+1250";width:1500;height:500' filled='false' stroked='false'"
response.Write " v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'div align='right'"item_hight*(5-i)"/div/v:TextBox"
response.Write " /v:Rect "
next
response.Write " v:line from='2200,11200' to='22200,11200' style='z-index:2' strokecolor='#0099FF'/v:line"
response.Write " v:line from='2200,1200' to='2200,11200' style='z-index:2' strokecolor='#0099FF'/v:line"
response.Write " v:line from='1700,11700' to='2200,11200' style='z-index:2' strokecolor='#0099FF'/v:line"
for j=0 to num2-1
response.Write " v:line from='"j*item_width+1700",11700' to='"j*item_width+1700",12000' style='z-index:2' strokecolor='#000000'/v:line"
response.Write " v:line from='"j*item_width+1700",11700' to='"j*item_width+2200",11200' style='z-index:2' strokecolor='#0099FF'v:stroke dashstyle='ShortDot'//v:line"
response.Write " v:line from='"j*item_width+2200",1200' to='"j*item_width+2200",11200' style='z-index:2' strokecolor='#0099FF'v:stroke dashstyle='ShortDot'//v:line"
response.Write " v:Rect style='position:relative;left:"j*item_width+1700-item_width/2";top:12100;width:"item_width";height:500' filled='false' stroked='false'"
response.Write " v:TextBox inset='0pt,0pt,0pt,0pt' style='font-size:9pt;'div align='center'"line_code(0,j+1)"/div/v:TextBox"
response.Write " /v:Rect "
next
for i=1 to num1
if i=1 then
displaystr=""
else
displaystr="none"
end if
response.Write " div id='line_"i"' style='display:"displaystr";'"
for j=0 to num2-2
this_hight1 = cint(line_code(i,j+1)/(5*item_hight)*10000)
this_hight2 = cint(line_code(i,j+2)/(5*item_hight)*10000)
response.Write " v:line from='"j*item_width+1850","(10000-this_hight1+1550)"' to='"(j+1)*item_width+1850","(10000-this_hight2+1550)"'style='z-index:"i*10";' strokeweight='0.1pt' strokecolor='"bg_color(i)"'"
response.Write " o:extrusion v:ext='view' backdepth='12pt' on='t' lightposition='-50000,-50000' lightposition2='50000'/"
response.Write " /v:line"
next
response.Write " /div"
next
response.Write "/v:group"
end function
%
html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"
meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /
head
title/title
STYLE
v\:* { Behavior: url(#default#VML) }
o\:* { behavior: url(#default#VML) }
/STYLE
SCRIPT LANGUAGE="JavaScript"
!--
var showit = new Array(10);
function moveon(iteam,lineit){
temp=eval(iteam)
templine=eval(lineit)
if(showit[1]){
rec1.style.display = "";
line_1.style.display = "";
}else{
rec1.style.display = "none";
line_1.style.display = "none";
}
temp.style.display = "";
templine.style.display = "";
}
function moveout(iteam,lineit,i){
temp=eval(iteam)
templine=eval(lineit)
if (showit[i]){
temp.style.display = "";
templine.style.display = "";
}else{
temp.style.display = "none";
templine.style.display = "none";
}
}
function clickit(i){
if (showit[i]){
showit[i]=false
}else{
showit[i]=true
}
}
--
/script
/head
body
%
dim total(10,2)
total(0,1)="1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月"
total(1,1)="200,158,982,0,369,100,595,895,652,25,245,951"
total(2,1)="984,58,495,36,158,486,952,258,653,415,485,14"
total(3,1)="850,988,958,145,369,745,265,158,856,145,425,352"
total(4,1)="600,525,235,485,258,265,158,365,35,148,658,475"
total(5,1)="62,525,635,215,0,465,258,305,66,547,54,148"
total(6,1)="560,625,645,329,158,665,358,95,120,358,42,253"
total(7,1)="950,725,635,435,258,865,458,955,152,845,425,421"
total(8,1)="600,825,155,455,458,265,558,365,352,245,853,122"
total(9,1)="360,925,215,545,658,465,658,845,400,421,541,125"
total(10,1)="50,225,355,655,858,665,758,35,584,214,54,651"
total(1,2)="项目1"
total(2,2)="项目2"
total(3,2)="项目3"
total(4,2)="项目4"
total(5,2)="项目5"
total(6,2)="项目6"
total(7,2)="项目7"
total(8,2)="项目8"
total(9,2)="项目9"
total(10,2)="项目10"
call table1(total,50,50,700,350,"曲 线 统 计 图","时间","元")
%
/body
/html
java实现共享数据可以将这些要共享的数据封装到一个类里并且用静态static修饰,当其他类要使用这些变量时,只需用这个类的类名.变量名即可。
事例代码如下:
变量类:
public class Demo1 {
public static int a = 1;
public static int b = 2;
public static int c = 3;
}
使用变量的类:
public class Demo2 {
public static void main(String[] args) {
System.out.println(Demo1.a);
System.out.println(Demo1.b);
System.out.println(Demo1.c);
}
}
这里使用static的好处是变量经过static的修饰,在使用这些变量时不用再创建这个类出来,只需使用类名.变量名即可使用,节省了空间;还有需要注意的是变量名需要用public来修饰,保证再不同包下的类也能使用该类下的变量。