0
点赞
收藏
分享

微信扫一扫

【java面向对象之静态、非静态、成员内部类、局部内部类】

E_topia 2022-04-14 阅读 72
java

目录

1、静态成员内部类

2、非静态成员内部类

3、实例化非静态成员内部类

4、方法调用非静态成员内部类

以上为成员内部类

以下是局部内部类

5、静态方法调用及局部内部类静态方法

6、非静态方法及局部内部非静态方法


1、静态成员内部类

public class Outer01 {
	public static class Inner{
		public static void run() {
			System.out.println("喷跑吧兄弟");
		}
	}
}
public class InnerTest {
	@Test
	public void outer01() {
		Outer01.Inner.run();
	}

可以调用

2、非静态成员内部类

将上例中第二行去掉static

public class Outer02 {
	public  class Inner{
		public static void run() {
			System.out.println("喷跑吧兄弟");
		}
	}
}
public class InnerTest {
	@Test
	public void outer01() {
		Outer01.Inner.run();
	}

可以调用

3、实例化非静态成员内部类

public class Outer03 {
	public  class Inner{
		public void run() {
			System.out.println("喷跑吧兄弟");
		}
	}
}

不是静态方法,需要把类实例化成对象

	@Test
	public void outer03() {
		new Outer03().new Inner().run();
	}

可以调用

4、方法调用非静态成员内部类

调用需要通过对象去调用,想办法找到对象

在类中构建一个桥梁,外部类访问桥梁,桥梁去调用内部类

public class Outer04 {
	public class Inner{
		public void run() {
			System.out.println("喷跑吧兄弟");
		}
	}
	
	//内部类实例化
	public void innerRun() {
		new Inner().run();
	}
}
	@Test
	public void outer04() {
		new Outer04().innerRun();
	}

可以调用

以上为成员内部类

以下是局部内部类

5、静态方法调用及局部内部类静态方法

public class Outer05 {
	public static void innerRun() {
		class Inner {
			public static void run() {
				System.out.println("喷跑吧兄弟");
			}
		}
		Inner.run();
	}
}
	@Test
	public void outer06() {
		Outer06.innerRun();
	}

可以调用

6、非静态方法及局部内部非静态方法

不是静态方法,需要实例化对象

public class Outer07 {
	public void innerRun() {
		class Inner {
			public void run() {
				System.out.println("喷跑吧兄弟");
			}
		}
		new Inner().run();
	}
}
	@Test
	public void outer07() {
		new Outer07().innerRun();
	}
举报

相关推荐

0 条评论