Java Class&Object

来源:互联网 发布:多周期成交量指标源码 编辑:程序博客网 时间:2024/06/05 21:12

嵌套类与内部类

有时也将Java内部类分为四种:

  • 静态内部类 static inner class (also called nested class)
  • 成员内部类 member inner class
  • 局部内部类 local inner class
  • 匿名内部类 anonymous inner class

我们主要关注前两种
从概念上说,内部类是非static的嵌套类,形式上看有没有static关键字;
在访问权限上,内部类可以访问所在类的所有成员,即使该成员是private的;而static嵌套类则不能访问所在类的成员,static嵌套类必须通过绑定所在类的实例来进行访问,对于所在类的静态成员和方法包括private、protected和public的都可以访问,因为它也有static修饰。
在JVM初始化时,内部类会自动生成一个指向外部实例的引用,同时外围实例满足垃圾回收条件时仍然会存留
参考链接:
http://www.cnblogs.com/mengdd/archive/2013/02/08/2909307.html

同时,嵌套类,static和非static的,都可以被声明为private、public、protected和default的。

Object中的API

这里写图片描述

hashcode()

对象的地址,很多类已重写。

equals()

以下是Object类中的equals方法,显然在Object中equals方法直接用“==”比较对象地址,但是该方法在很多类中已经重写,要注意区分。

    public boolean equals(Object obj) {        return (this == obj);    }
clone()

深拷贝与浅拷贝。

finalize()

FileInputStream中已经重写。