100天代码提升计划-第27天
局部内部类的定义
如果一个类定义在方法内部,那这个类就是局部内部类
格式
修饰符 class 外部类名称{
修饰符 返回值类型 外部类方法名称(){
class 内部类名称{
}
}
}
、
定义一个类权限修饰符的使用
1、外部类:public/(default)
2、成员内部类:四种都可以
3、局部内部类:什么都不写
代码
package InsideClass; public class Outout { //外部类 public void methodout(){//外部类的方法 class In{//局部内部类 String name="局部内部类"; public void methodin(){ System.out.println(name); } } //局部内部类:只有自己所属的方法才能使用 In in=new In(); in.methodin(); } }
package InsideClass; public class Mainclass { public static void main(String[] args) { Outout out =new Outout(); out.methodout(); } }
二、局部内部类与final
如果局部内部类想访问局部变量,那么这个局部变量必须是有效final的(局部变量不可变)
三、匿名内部类
格式:
接口名称 对象名 =new 接口名称(){ };
package Demo01; public interface Myinterfacr { public abstract void method(); }
package Demo01; public class Mymain { public static void main(String[] args) { //Myinterfacrimp obj=new Myinterfacrimp(); //obj.method(); 正常调用一个接口 //匿名对象 Myinterfacr obj=new Myinterfacr() { @Override public void method() { System.out.println("匿名内部类执行!"); } }; obj.method(); } }
匿名内部类的注意事项
1.创建对象时,只能使用一次
2.匿名对象在使用的时候只那个调用一次
3.匿名内部类是省略了实现类/子类名称,但是匿名对象省略的是对象名称

浙公网安备 33010602011771号