java中如何引用同一个包中的其他的类中的变量?麻烦给出具体的例子。 30
比如说:现在classA中有个全局变量Stack<Integer>s=newStack<Integer>();//这里并没有对它进行赋值。但是在执行完main程序后,输出...
比如说:现在class A中有个全局变量 Stack <Integer> s = new Stack<Integer>();//这里并没有对它进行赋值。但是在执行完main程序后,输出s的值是(1,2,3,4,5,6);
然后,现在有class B,想调用class A中的s,怎么样做可以调用到(1,2,3,4,5,6),而不是空的栈呢? 展开
然后,现在有class B,想调用class A中的s,怎么样做可以调用到(1,2,3,4,5,6),而不是空的栈呢? 展开
6个回答
展开全部
第一,你要把这个全局变量设置为 静态变量,然后 定义public,这样你就可以用A.s 来调用了,静态变量在赋值后就不会变化,除非再次赋值的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在A中写一个方法,返回s的值,在B中创建一个A的对象,调用返回s的那个方法就行了。当然,A的那个方法中要写明你这个s是怎么得出来的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道是不是你想要的 你可以参考一下
class A{
public Stack <Integer> s = new Stack<Integer>();
@SuppressWarnings("unchecked")
public static void main(String args[])
{
A a=new A();
for(int i=6;i>0;i--){
a.s.add(i);
}
Stack <Integer> s2 = (Stack<Integer>)a.s.clone();
a.print(s2);
B b=new B();
Stack <Integer> s3 = (Stack<Integer>)a.s.clone();
b.print(s3);
}
public void print(Stack <Integer> s){
while(!s.isEmpty()){
System.out.print(s.pop().toString());
}
System.out.println();
}
}
class B{
public void print(Stack <Integer> s ){
while(!s.isEmpty()){
System.out.print(s.pop().toString());
}
System.out.println();
}
}
class A{
public Stack <Integer> s = new Stack<Integer>();
@SuppressWarnings("unchecked")
public static void main(String args[])
{
A a=new A();
for(int i=6;i>0;i--){
a.s.add(i);
}
Stack <Integer> s2 = (Stack<Integer>)a.s.clone();
a.print(s2);
B b=new B();
Stack <Integer> s3 = (Stack<Integer>)a.s.clone();
b.print(s3);
}
public void print(Stack <Integer> s){
while(!s.isEmpty()){
System.out.print(s.pop().toString());
}
System.out.println();
}
}
class B{
public void print(Stack <Integer> s ){
while(!s.isEmpty()){
System.out.print(s.pop().toString());
}
System.out.println();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全局变量是什么?成员变量吗?
A类中的非静态成员变量只能通过对象访问。
静态成员变量可以通过 类名.变量名 或者 类名.静态方法名 访问
A类中的非静态成员变量只能通过对象访问。
静态成员变量可以通过 类名.变量名 或者 类名.静态方法名 访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.Stack;
class Test11{
Stack<Integer> s = new Stack<Integer>();
Stack<Integer> fillStasck(){
for(int i =0;i<5;i++){
this.s.add(i+1);
}
return s;
}
}
public class BB {
public static void main(String[] args) {
Test11 tt = new Test11();
System.out.println(tt.fillStasck());
}
}
class Test11{
Stack<Integer> s = new Stack<Integer>();
Stack<Integer> fillStasck(){
for(int i =0;i<5;i++){
this.s.add(i+1);
}
return s;
}
}
public class BB {
public static void main(String[] args) {
Test11 tt = new Test11();
System.out.println(tt.fillStasck());
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询