内部类

原创 2016年08月30日 17:32:01
 内部类:在类中定义的类,成为内部类.一个类的存在依赖于另一个类,如果这个类独立存在没有存在的价值,所以可以把他设计成为内部类。
内部类可以直接访问外部类的私有成员和方法
2 顶层类修饰符可以是public和默认的修饰符
内部类可以是任意修饰符
内部类也可以是顶层类的一个成员变量
3 内部类的分类:静态成员类  实例成员内部类(成员类) 方法类  匿名类
4 内部类可以访问外围类的私有属性(不用建立对象)
 外围类可以访问内部类的属性,但是必须建立对象。否则无法访问
5 静态内部类不可以访问外部类的实例变量,可以访问外部类的静态变量。静态内部类和外围类的对象没有关系。与顶层类没有多大的差别,只不过是
6 实例成员内部类,简称成员类。成员类必须依赖于外围类的对象。
7方法类:定义在方法中的类称为方法类,也成为局部类,类似于方法类的变量。
方法类不能够使用static修饰和修饰符修饰方法中的类创建的对象是在堆内存中,当方法运行结束,仍然存在。
而方法中的普通变量是在栈内存中,当方法运行结束后,该变量会自动垃圾回收
方法类的用处实现一个接口,返回方法类的实例对象。封装。
8方法类不能够使用static修饰?
static会在整个类的生命周期存在,但是局部变量的作用域只是位于方法体,两者冲突。
9局部变量为什么没有访问修饰符?
局部变量没有访问修饰符,因为他的生命周期就在这个方法中。其他的方法不能够使用这些局部变量,加不加修饰符没有意义。只要能够访问这个方法,就能够访问这个方法。
10 JDK1.8之后,内部类可以访问方法的非final属性,但是不能更改,相当于final。在JDK1.8之前,不能访问非final属性,只能是final属性。为什么?
 java中每个方法相当于一个线程。当有内部类的时候,内部类使用方法中的变量必须是成员变量。多个线程(内部类中的方法和内部外的方法两个线程)对同一个变量修改,会造称错乱
11 匿名内部类
没有名称,方法类的类体较少的时候可以使用那个内部类,如果方法类的类体较长,不建议使用匿名类。匿名类最后必须加分号。
12 java内部类好处
第一个好处:隐藏你不想让别人知道的操作,也即封装性。
第二个好处 :一个内部类对象可以访问创建它的外部类对象的内容,甚至包括私有变量

 

相关文章推荐

java中的内部类

  • 2014年04月23日 21:34
  • 3KB
  • 下载

java内部类

  • 2014年07月04日 21:48
  • 294KB
  • 下载

java学习笔记——内部类和异常

匿名内部类 用途:当描述事物时,事物的内部还有事物,用内部类描述 class Body { class Heart { } } 异常 1.异常:程序在运行时  出现的不正常情况异常由来:问题也是现...

Java中的内部类

  • 2011年12月17日 15:29
  • 248KB
  • 下载

java内部类的使用

  • 2012年12月19日 21:52
  • 21KB
  • 下载

【Java语法】java中成员内部类内为什么不允许有任何静态声明搜索

看下内部类Eclipse给的错误我们可以看出一部分,静态的属性或者方法不允许声明在非静态的对象中.      下面我们看下think in java 中谈内部类   内部...

Java内部类

  • 2012年12月14日 12:02
  • 7KB
  • 下载

内部类详解

  • 2011年12月07日 08:42
  • 256KB
  • 下载

幕后英雄的用武之地——浅谈Java内部类的四个应用场景

幕后英雄的用武之地——浅谈Java内部类的四个应用场景 标签: java数据库连接池datatemplatestringclassinterface 2006-02-22 20:09 11...

Java内部类总结

  • 2012年02月06日 23:09
  • 45KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:内部类
举报原因:
原因补充:

(最多只允许输入30个字)