安卓基础(封装引用)
情况 1:普通 Java 项目(非 Android)
src/
├── com/
│ ├── example/
│ │ ├── utils/
│ │ │ └── A.java // 工具类 A
│ │ └── main/
│ │ └── B.java // 主类 B
A.java(工具类,静态方法)
package com.example.utils; // 包路径public class A {// 静态方法:可直接通过类名调用public static void printMessage(String msg) {System.out.println("A 类输出:" + msg);}// 非静态方法:需创建实例后调用public void showInfo(String info) {System.out.println("A 类信息:" + info);}
}
B.java(主类,调用 A 的方法)
package com.example.main; // 包路径// 导入 A 类(不同包时需要导入)
import com.example.utils.A;public class B {public static void main(String[] args) {// 调用 A 的静态方法A.printMessage("Hello from B!");// 调用 A 的非静态方法A a = new A();a.showInfo("This is an instance method.");}
}
情况 2:Android 项目
app/src/main/java/
├── com/
│ ├── example/
│ │ ├── utils/
│ │ │ └── A.java // 工具类 A
│ │ └── MainActivity.java // Activity 类 B
A.java(工具类,含需要 Context 的方法)
package com.example.utils; // 包路径import android.content.Context;
import android.widget.Toast;public class A {// 静态方法:显示 Toast(需传递 Context)public static void showToast(Context context, String message) {Toast.makeText(context, message, Toast.LENGTH_SHORT).show();}
}
MainActivity.java(Activity 类,调用 A 的方法)
package com.example; // 包路径import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.example.utils.A; // 导入 A 类public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 调用 A 的静态方法(传递 Activity 的 Context)A.showToast(this, "Hello from Activity!");}
}
123