public class Demo1{
public static void main(String []args){
Outer out = new Outer();
out.outer();//外部类对象.外部类非静态方法
Outer.outer1();//外部类名.外部类静态方法
}
}
class Outer{
public void outer(){
//1、外部类非静态方法访问成员内部类非静态方法
getInstance().inner();//第一种
Inner_1 in = new Inner_1();//第二种
in.inner();
//2、外部类非静态方法访问静态内部类静态方法
Inner_2.fun();
System.out.println(in);//引用对象地址
//3、外部类非静态方法访问静态内部类非静态方法
Outer.Inner_2 in1 = new Outer.Inner_2();//第一种
Inner_2 in2 = new Inner_2();//第二种
in1.fun1();
}
public static void outer1(){
//4、外部类静态方法访问成员内部类非静态方法
Outer outer = new Outer();//第一步,建立外部类对象
Inner_1 inner = outer.new Inner_1();//第二步,根据外部类对象建立内部类对象
inner.inner();//第三步,访问内部类非静态方法
System.out.println(inner);//引用对象地址
//5、外部类静态方法访问静态内部类非静态方法
Outer.Inner_2 in3 = new Outer.Inner_2();
in3.fun1();
//6、外部类静态方法访问静态内部类静态方法
Inner_2.fun();
}
class Inner_1{
public void inner(){
System.out.println(“成员内部类非静态方法”);
}
}
static class Inner_2{
static void fun(){
System.out.println(“静态内部类静态方法”);
}
void fun1(){
System.out.println(“静态内部类非静态方法”);
}
}
public Inner_1 getInstance(){
return new Inner_1();
}
}
Java外部类(静态/非静态)访问(静态)
原文作者:冷枫xc
原文地址: https://blog.csdn.net/qq_41195685/article/details/83928687
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_41195685/article/details/83928687
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。