Java基础回顾

来源:互联网 发布:手机编写c语言的软件 编辑:程序博客网 时间:2024/04/30 20:30

一、创建和销毁对象

1、Builder模式:当一个类需要不确定数量的参数的时候,可以使用重叠构造器模式,但首先在使用时,需要了解每个参数的意义,同时也很容易传递错误的参数,我们也可以使用JavaBean模式,使用无参的构造函数,通过set方法逐个设置参数值,但当我们需要更改这些值时,容易导致不一致的状态,这时我们就可以采用Builder模式,创建一个Builder类,定义设置参数值得方法并将该Builder类作为返回值,设置成功后调用Builder类中的build方法,该方法中根据设置的参数值创建所需类.

      Builder模式的不足在于首先它必须先创建自己的构造器,在一些十分注重性能的情况下可能会有影响,其次是其构造模式更加冗长,因此只在有很多参数的情况下才使用。

2、工具类:一般的工具类只包含静态的方法和静态域的类,不需要被实例,一般我们将其构造函数私有化。

      上图中的AssertionError用于避免在类的内部调用构造器,保证该类在任何情况下都不会被实例化。

3、清空过期的对象引用

       清空对象引用应该是一种例外而不是一种规范行为,消除过期引用最好的方法是让包含该引用的变量结束其生命周期。一般而言,只要类时自己管理内存,就应该警惕内存泄漏,一旦类被释放掉,则该类的所有引用都应该被清空,内存泄漏另一个常见来源是缓存,一旦将对象引用放到缓存,就很容易被遗忘(可以使用WeakHashMap解决,当除了该缓存项外其他引用都过期,则该缓存项会自动被清除)。内存泄漏第三个常见来源是监听器和其他回调。

二、类和接口

       对于顶层的类和接口,只有两种可能的访问级别:包级私有的(package-private)和共有的(public),如果用public修饰符声明了顶层类或者接口,那么它就是共有的,否则它就是包级私有的,如果类和接口能做成包级私有的,那它就应该是包级私有的,通过把类或者接口做成包级私有,它实际上就成了这个包的实现的一部分而不是该包导出的API的一部分,在以后的发行版本中,可以对它进行修改、替换或者删除,而无需担心会影响到现有客户端程序,如果是公有的,则需要保持兼容性。

       对于成员有四种可访问的级别:①私有的(private):只有在声明该成员的顶层类内部才可以访问    ②包级私有的(package-private):声明该成员的包内部的任何类(指的是同一个目录下的任何类)都可以访问这个成员,它被称为“缺省访问级别”,如果成员没有指定访问级别,就采用这个访问级别  ③受保护的(protected):声明该成员的类的子类可以访问,并且声明该成员的包内部的任何类也可以访问这个成员    ④公有的(public):任何地方都可以访问

       注:如果子类方法覆盖了超类中的一个方法,子类中的访问级别不允许低于超类中的访问级别,这样可以确保任何可使用超类的实例在任何地方都可以使用子类的实例。

三、数据类型

     Java中的数据类型,指的是拥有特定特征的数据项和在数据上允许的操作,比如int型变量,都是整数,拥有特定的取值范围,都支持加减乘除等对其进行操作,数据类型允许的操作是它本身不可分离的部分,理解类型包括理解什么样的操作可以应用在该类型之上。

0 0
原创粉丝点击