一、区分final 、 finally 、 finalize 

1.关键字final

  Java语言的关键字final可以用于变量、类或方法,但是含义会有所不同。

  -用于变量:一旦初始化,变量值就不能修改

  -用于方法:该方法不能被子类重写(overrride)

  -用于类:该类不能派生出子类

2.关键字finally

  关键字finally和try/catch语句配对使用,即使有异常抛出,也能确保某段代码一定会执行。finally语句块会在try/catch语句块之后,在控制权交回之前执行。

3.finalize方法

  在真正销毁对象之前,自动垃圾收集器会调用finalize()方法。因此,一个类可以重写Object类的finalize()方法,以便定义在垃圾收集时的特定行为。

  

protected void finalize() throws Throwable{

  /*关闭以打开的文件,释放资源等操作*/  

}

  

二、区分重载与重写

1.重载(overloading)是指两个方法的名称相同,但参数类型或个数不同。

1 1 public double computeArea(Circle c ){...........}
2
3 2 public double computeArea(Square s){..........} 

2.重写(overriding)是指某个方法与父类的方法拥有相同的名称和函数签名

三、常用集合框架

1.ArrayList:ArrayList是一种可动态调整大小的数组,随着元素的插入,数组会适时扩容。

1 ArrayList<String> myArray = new ArrayList<String>();
2 myArray.add("one");
3 myArray.add("two");
4 System.out.println(myArray.get(0)); //打印“one”

2.Vector:vector与ArrayList非常相似,只不过前者(Vector)是同步的(synchronized)。两者语法也相差无几。

1 Vector<String> myVector = new Vector<String>();
2 myVector.add("one");
3 myVector.add("two");
4 System.out.println(myVector.get(0));

3.LinkedList:Java内建的LinkedList类,使用时会引出一些迭代器的语法

1 LinkedList<String>  myLinkedList = new LinkedList<String>();
2 myLinkedList.add("two");
3 myLinkedList.add("one");
4 Iterator<String> iter = myLinkedList.iterator();
5 while(iter.hasNext()){
6 System.out.println( iter.next());
7 }

4.HashMap:HashMap集合广泛用于各种场合。

1 HashMap<String,String> map = new HashMap<String,String>();
2 map.put("one","one");
3 map.put("two","two");
4 System.out.println(map.get("one"));

 四、从继承的角度看,将构造函数声明为私有的作用

  将构造函数声明为私有(private),可确保类以外的地方都不能直接实例化这个类。在这种情况下,要创建这个类的实例,唯一的办法是提供一个公共静态方法,就像工厂方法模式(Factory Method Pattern)那样。

  此外,由于构造函数是私有的,因此这个类也不能被继承。还有就是单例模式(singleton)也要用到私有化的构造函数。

五、Java中的对象反射以及作用

  对象反射(Object Reflection)是Java的一项特性,提供了获取Java类和对象的反射信息的方法,他可以执行以下操作:

  (1)运行时取得类的方法和字段的相关信息

  (2)创建某个类的新实例

  (3)通过取得字段引用直接获取和设置对象字段,不管访问修饰符为何

  作用体现在以下三方面:

  (1)有助于观察或操纵应用程序的运行时行为

  (2)有助于调试或测试程序,因为我们可以直接访问方法、构造函数和成员字段

  (3)即使事前不知道某个方法,我们也可以通过名字调用该方法

java基础-001的更多相关文章

  1. [java基础] 001 - 记一次堆栈溢出异常(StackOverFlowError)

    上午经理发来一个任务,解决某个接口异常,此接口第一次调用成功返回: {ret=Y, orderResultList=[{itemno=31920190521083622032, sub_msg=成功, ...

  2. 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学

    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...

  3. 【java基础学习001】概述

    001.1    一个简单的Java程序 public class hello { public static void main(String[] args) { System.out.printl ...

  4. 微冷的雨Java基础学习手记(一)

    使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要 ...

  5. java 复习001

    java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...

  6. java基础01

    1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Runtime Env ...

  7. JAVA基础-集合(二)

    一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为v ...

  8. java基础-BigDecimal类常用方法介绍

    java基础-BigDecimal类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.BigDecimal类概述 我们知道浮点数的计算结果是未知的.原因是计算机二进制 ...

  9. Java 基础总结大全

    Java 基础总结大全 一.基础知识 1.JVM.JRE和JDK的区别 JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jv ...

随机推荐

  1. dom jaxp详解

    转自 http://blog.csdn.net/java958199586/article/details/7277904 一.XML解析技术概述 1.XML解析方式分为两种:dom和sax (1)d ...

  2. 【bzoj1029】道路抢修

    [bzoj1029]建筑抢修 传送门 http://www.lydsy.com/JudgeOnline/problem.php?id=1029 分析 http://blog.csdn.net/popo ...

  3. jQuery笔记一

    陆续更新中..... 1,创建标签的时候可以提前写好,以后用clone()方法克隆即可. 如: var div=$("<div></div>"); var ...

  4. IE7浏览器下CSS属性选择器二三事

    一.为何专门说起IE7 以前,或者说数年前,我们从事桌面端网页开发的时候,基本上都还要兼顾IE6浏览器, 即使有些特性,IE7支持,我们也会忽略之.于是,我们会不自然地把IE6和IE7浏览器归为一路货 ...

  5. append appendChild appendTo区别

    1.append和appendChild的区别 append是jquery文档操作用法 ① append() 方法在被选元素的结尾(仍然在内部)插入指定内容. $(selector).append(c ...

  6. Servlet复习1: 一个简单的Servlet的使用

    Servlet学习 1. Servlet与JSP的关系 2. Servlet的声明周期 3. 一个简单的Servlet的使用方法 什么是Servlet? 什么又是JSP? 继承了javax.servl ...

  7. nyoj 115------城市平乱( dijkstra // bellman )

    城市平乱 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...

  8. 转载:Clear Float

    众所周知,平时在写HTML代码时,难免少不了使用Float样式,这样一来,假使您没有清除浮动,那么有浮动元素的父元素容器将元素将无法自动撑 开.换句简单好理解的话来说,假如你在写CODE时,其中div ...

  9. Ext.data.Store动态修改url

    store.proxy = new Ext.data.HttpProxy({url:path}); 示例: var ad_store = new Ext.data.JsonStore({ fields ...

  10. spring mvc与mybatis收集到博客

    mybaits-spring 官方教程 http://mybatis.github.io/spring/zh/ SpringMVC 基础教程 框架分析 http://blog.csdn.net/swi ...