JAVA内部类简介说明

欣喜 Java教程 发布时间:2024-01-17 17:16:55 阅读数:14653 1
下文笔者讲述Java内部类的简介说明,如下所示

何为内部类

内部类
   将一个类定义在另一个类内部。
我们将这种类称之为"内部类"

内部类修饰符简介

外部类只能使用public、default修饰

内部类可以使用private、public、protect、default(即全部修饰符)修饰

内部类可以直接访问外部类的属性和方法,包括private修饰的

如果内外有同名,内调外,加上类名.this.方法或者属性名来调用:
public class Outer {
    private int a=1;
    public class Inner{
        private int a=2;
        public void show(){
            System.out.println(Outer.this.a);
        }
    }
}

内部类class文件说明

一个类中总共有几个类就会有几个.class文件
    内部类的class文件使用外部类名加上$符号修饰

public class Outer{
    class inner{
    
    }
}

实例化

内部类可以看作是外部类的一个成员,

在成员内部类中访问外部类的成员方法和属性:
    外部类名.this.成员方法(或者属性)

在内部类之外创建成员内部类的实例:
    外部实例对象名.内部类名  实例名 = new  内部类构造方法
class Outer {
    private int a=1;
    class Inner{
        private int a=2;
        public void show(){
            System.out.println(Outer.this.a);
        }
    }
}
public class test {
    public static void main(String[] args) {
        Outer.Inner inner=new Outer().new Inner();
    }
}

静态内部类

使用static修饰的内部类叫静态内部类
    使用方法和调用限制和静态方法相同
    即静态内部类只能调用外部类的静态属性和方法
    对静态内部类的调用可以视为对一个静态方法的调用
class Outer {
    private static int a=1;
    static class Inner{
        private int a=2;
        public void show(){
            System.out.println(Outer.a);
        }
    }
}

匿名内部类

没有名称的内部类
   形式上是直接new接口或者抽象类,实际上是产生一个匿名的实现类。

new匿名内部类的前提是必须继承一个父类或者实现一个接口;
匿名内部类中不能使用static修饰符;
匿名内部类就是一个普通的实现类
   里面方法属性不限量。可重载可自定义等等。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202401/7691.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者