Innerclasses

Posted myErebos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Innerclasses相关的知识,希望对你有一定的参考价值。

内部类只能让它的外部类访问,其他同包的类也无法访问!方法里也能建内部类

 1 public class Innerclasses {
 2     public static void main(String[] args){
 3         Face f=new Face();// 必须让外部类先创建一个实例,才能调用内部类!
 4         Face.Nose n=f.new Nose();//这里不能直接!!调用face类里的nose类 Nose n=new Nose();
 5         n.breath();
 6         Face.Ear e=new Face.Ear();
 7         e.listen();//静态内部类和其他的不同可以一步就创建一个实例,不需要外部类存在实例就直接建一个实例。
 8     }
 9 }
10 
11 
12 class Face{
13     int type;
14     String xingzhuang="瓜子脸";
15     static String color="红润";
16     class Nose{
17         String type;
18         void breath(){
19             System.out.println(xingzhuang);
20             System.out.println(Face.this.type);//这里访问的是外部类里的type如果没加Face.则应该是访问自己的变量
21                                                 //如果内部类没这个变量即没有重名可以直接调用type,如xingzhuang;
22             System.out.println("呼吸!");
23         }
24     }
25     static class Ear{
26         void listen(){
27             System.out.println("我在听!");
28             System.out.println(color);//静态内部类只可以调用外部类中的静态变量,非静态的不行;
29             //静态内部类看作外部类的一个静态成员!静态内部类对象存在,不一定存在对应的外部类对象
30         }
31     }
32 }

 

内部类可以访问调用外部类中的属性但是外部类无法调用内部类的内部属性

以上是关于Innerclasses的主要内容,如果未能解决你的问题,请参考以下文章

错误:警告:忽略匿名内部类的 InnerClasses 属性

Innerclasses

Proguard 问题“警告:忽略匿名内部类的 InnerClasses 属性”

Java Rest Service POST 不同意 InnerClasses 属性

java innerclasses(内部类)

内部类(innerclasses)