如何在Java中从其方法外部调用局部变量

时间:2017-07-26 19:39:02

标签: java json gson

public void main(String[] args) throws Exception {

    URL url = new URL("https://api.coinmarketcap.com/v1/global/");
    InputStreamReader reader = new InputStreamReader(url.openStream());
    MyData data = new Gson().fromJson(reader, MyData.class);

}

public static class MyData {
    String  total_market_cap_usd;
}

所以我需要的是在另一个类中调用这个局部变量“data”。所以我需要的是以某种方式创建一个与本地变量具有相同值的全局变量,问题是这个局部变量的类不允许除了最终之前的任何东西,所以有人可以帮我在这里。我真的很难过,我找不到任何资源来帮助我。 如果我听起来像一个完整的菜鸟,我很抱歉,因为我在低级编码语言方面的经验有限。

2 个答案:

答案 0 :(得分:0)

这是你的答案:
https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html
由于您希望在不同的类中使用变量,因此可以使用 extends 关键字作为:

public class SubClass extends SuperClass{
//you can override the implementation
  //@Override
  public void getVariable(){
    <datatype> var = this.localVariableOfPreviousClass;
}
}

答案 1 :(得分:0)

根据您在评论中提到的要求,我尝试了实现。看看它是否有帮助。

.ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).range.Paragraphs.Alignment = wdAlignParagraphCenter 'Centers Header'
.ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).range.InlineShapes.AddPicture ("X:\EQP\Residential Maintenance Agreement\Archived RMA templates\AA Logo Swoops cropped 2.JPG") 'Calls for image header'
.ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).range.Paragraphs.Alignment = wdAlignParagraphCenter 'Centers Footer'
.ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).range.InlineShapes.AddPicture ("X:\EQP\Residential Maintenance Agreement\Footer Template.PNG")
With wdapp.ActiveDocument.Sections(1).Footers(1).range.Paragraphs(1)
    .range.InsertAfter vbCr & "Page "
    Set r = .range
    E = .range.End
    r.Start = E
    .range.Fields.Add r, wdFieldPage
    .range.InsertAfter " of "
    E = .range.End
    r.Start = E
    .range.Fields.Add r, wdFieldNumPages
    .Alignment = wdAlignParagraphRight
    '.Alignment = wdAlignParagraphCenter
    '.range.InlineShapes.AddPicture ("X:\EQP\Residential Maintenance Agreement\Footer Template.PNG")
End With