内部类可以任意调用其他包的类,方法如下- package Heima001_DumpAndDown100;
- import Heima001_DumpAndDown200.Test2;
- public class Test {
- public static void main(String[] args) {
- System.out.println("*****************************");
- System.out.println("我只要调用Outer");
- new Outer();
- System.out.println("*****************************");
- System.out.println("我要使用内部类");
- new Outer("我要使用内部类");
- System.out.println("*****************************");
- System.out.println("我要使用内部类并调用其他包的类");
- new Outer("我要使用内部类","并调用其他包的类");
- System.out.println("*****************************");
- }
- }
- class Outer{
- private String s;
- private String s2;
-
- public Outer(String s) {
- new Inner();
- }
-
- public Outer(String s, String s2) {
- new Inner(s);
- }
- public String getS() {
- return s;
- }
- public void setS(String s) {
- this.s = s;
- }
- public Outer() {
- System.out.println("Outer被调用了");
- }
-
- class Inner{
- private String s;
-
-
- public Inner(String s) {
- System.out.println("内部类被调用了");
- Test2 test2= new Test2();
- }
- public Inner() {
- System.out.println("内部类被调用了");
- }
-
- }
- }
复制代码 其他包的类:- package Heima001_DumpAndDown200;
- public class Test2 {
- int t2;
- public Test2(int t2) {
- super();
- this.t2 = t2;
- }
- public int getT2() {
- return t2;
- }
- public void setT2(int t2) {
- this.t2 = t2;
- }
- public Test2() {
- System.out.println("另外包的Test2类被调用了");
- }
- }
复制代码 输出结果:
*****************************
我只要调用Outer
Outer被调用了
*****************************
我要使用内部类
内部类被调用了
*****************************
我要使用内部类并调用其他包的类
内部类被调用了
另外包的Test2类被调用了
*****************************
|