Java外部类(静态/非静态)访问(静态)

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();
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值