java内部类

内部类的基本概念

当一个类的定义出现在另外一个类的类体中时,那么这个类叫做颞部列,而这个内部类所在地的类叫做外部类。

类中的内容:成员变量、成员方法、构造方法、静态成员、构造块、静态代码块、内部类。

内部类的分类

普通内部类: 直接将一个类的定义放在另外一个类的类体中。

静态内部类:使用static关键字稀释的内部类,属于类层级。

局部内部类:直接讲一个类的定义放在方法体的内部时。

匿名内部类:就是指没有名字的内部类。

普通(成员)内部类的格式

访问修饰符  class   外部类的类名{

访问修饰符 class  内部类类名{

内部类的类体;

}

}

public class inner {
    public class  innerin{
        
    }
}

如何调用内部类

public class inner {
    private int cnt=1;
    public class  innerin{
        private int ca=2;
        public innerin(){
            System.out.println("普通内部类的构造方法执行到了!");
        }
public void show(){
    System.out.println("外部部类变量cnt"+cnt+"!");//1
    System.out.println("内部类的变量ca"+ca);//2
}
    }
}
public class test {
    public static void main(String[] args) {
        inner on=new inner();
        inner.innerin i= on.new innerin();
          i,show();
    }
}

内部类的使用方式 

public class inner {
    private int cnt=1;
    private class  innerin{
        private int ca=2;
        public innerin(){
            System.out.println("普通内部类的构造方法执行到了!");
        }
public void show(){
    System.out.println("外部部类变量cnt"+cnt+"!");//1
    System.out.println("内部类的变量ca"+ca);//2
}
    }
}

普通内部类和普通类一样可以定义成员变量、成员方法以及构造方法等。

普通内部类和普通类一样可以使用final乎哟这abstract关键字修饰。

普通内部类还可以使用private或者protected关键字进行修饰。

普通内部类需要使用外部类对象来创建对象。

如果内部列访问外部类中与本类内部类同名的成员变量用this关键字。

静态内部列

静态内部类格式

访问修饰符 class  外部类类名{

访问修饰符 static class 内部类的类名{

内部类类体;

}

}

静态内部类的使用方式

静态内部类不能直接访问外部类的非静态成员

静态内部类可以直接创建对象

如果静态内部类访问外部类中与本类内同名的成员变量过着方法时需要使用类名.   的方式访问

局部内部类的核格式

访问修饰符 class  外部类名{

         访问修饰符  返回值类型  成员方法名 (形参列表){

class  内部类的类名{

内部类类体

}

}

}

public class test {
   private int a=1;
   public void show(){
      class abc{
           
       }
   }
}

局部内部类的使用方式

局部内部类只能在该方法的内部可以使用。

局部内部类可以再方法体内部直接创建对象。

局部内部类不能使用访问控制符和static关键字修饰。

局部内部类可以使用外部方法的局部变量,但是必须是final的。

匿名内部类

 匿名内部类的语法格式

接口/父类类型 引用变量名 =new 接口/父类类型(){

方法的重写

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Triple A-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值