Intellij中带灰色条的class symbol:与其他两类的差异及含义咨询
IntelliJ中带灰色条的类图标的含义与差异解析
嘿,这个问题我太熟了!在IntelliJ IDEA里,那个带有灰色条的类图标,其实是专门用来标识**抽象类(Abstract Class)**的,和普通类、接口的图标差异背后,对应着这些类本身的特性区别:
灰色条类图标 = 抽象类
这类类是用abstract关键字修饰的,核心特点是不能直接实例化——你没法用new AbstractClass()这种方式创建它的对象,必须通过子类继承它,并且实现它里面的抽象方法(如果子类不是抽象类的话)。抽象类可以同时包含抽象方法(只有声明没有实现)和具体的方法实现,还能拥有成员变量,算是普通类和接口之间的一种中间形态。和普通类图标的差异
普通类的图标是纯蓝色的类形状,这类类没有abstract修饰,能直接实例化,所有方法默认都是可以直接调用的具体实现(除非自己手动声明为抽象)。和接口图标的差异
接口的图标是蓝色的方块形状,接口里的方法默认都是抽象的(Java 8及以后支持默认方法和静态方法),而且接口只能定义常量,不能有普通成员变量。和抽象类不同,一个类可以实现多个接口,但只能继承一个抽象类(Java是单继承)。
举个简单的验证方法:随便新建一个类,给它加上abstract关键字,IntelliJ里的类图标马上就会变成带灰色条的样式;把abstract删掉,又会变回普通类的蓝色图标,一眼就能区分开。
内容的提问来源于stack exchange,提问作者Tirafesi
相关产品推荐
相关产品推荐

