java 内部类怎么写_Java基础之内部类

原标题:Java基础之内部类

简言

对于部分人来说,可能内部类只是知道,具体怎么用可能都搞不清楚。在回头看java中的葵花宝典的时候,还是想写一写供大家参考一下。看到这,大牛请飘过吧

创建内部类// Animal.javapublic class Animal { private int type = 0; private String name = default; public int getType() { return type; } class Bird { private int type = 1; public int getType() { return type; } public String getName() { String name1 = name; String name2 = Animal.this.name; return name; } } static class Fish { private int type = 2; public int getType() { return type; } }} // InnerClassMain.javapublic class InnerClassMain { public static void main(String[] args) { Animal animal = new Animal(); System.out.println(animal.getType()); Animal.Bird bird = animal.new Bird(); System.out.println(bird.getType()); Animal.Fish fish = new Animal.Fish(); }}

创建内部类,这个相信大家都会,但是具体如何使用呢?可能还真有部分人是模糊的,说不会吧,知道怎么回事,但是说会吧,可能真写不出来

在main函数里面存在两种创建方式

Animal.Bird bird = animal.new Bird();Animal.Fish fish = new Animal.Fish();

这两种方式的区别就是一个是通过对象animal创建出来的,一种是通过new 类.类的形式创建的,回头看看这两个的区别在哪里

class Bird {}static class Fish {}

唯一的区别就是Fish是静态内部类,而Bird只是内部类

权限

其他类访问内部类,要看内部类的修饰符是什么,private永远不被访问(这是神器,后面介绍),public,protected,default,下面以public来说

其他类要访问内部类必须先通过外部类(非其他类),没有外部类是访问不到内部类的

具体访问方式上面已经介绍过

现在说一下内部类访问外部类(非其他类),可以访问外部类的哪些元素?答案是:ALL 可以访问外部类的全部资源属性,包括private类型的。内部类拥有对外部类所有的访问权限。这是因为当某个外部类对象创建一个内部类时,内部类必定会捕获一个指向那个外部类的引用。在访问外部类成员的时候,都是通过那个引用来进行访问返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值