-首先,我不会向您展示您在此处提到的确切示例,因为您的问题不是这个示例,而是要了解如何访问内部类成员。
修改示例:
package com.cyberfreaky.test;
public class Main {
public static String static_string = "hello";
public String nonstatic_string = "world";
class Demo {
String m = "";
String n = "";
public void getStaticString() {
m = static_string;
System.out.println(m);
}
public void getNonStaticString() {
n = nonstatic_string;
System.out.println(n);
}
}
public static void main(String[] args) {
Main outerClass = new Main();
Main.Demo innerClass = outerClass.new Demo();
innerClass.getStaticString();
innerClass.getNonStaticString();
}
}
在 Android 的情况下,您可以从内部类访问外部类成员,如下所示:
package com.example.simpleservice;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
public class MainActivity extends Activity {
int i = 0;
static int x = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
class InnerClass extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
int a = i;
int b = x;
return null;
}
}
}