java基础-001

一、区分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)即使事前不知道某个方法,我们也可以通过名字调用该方法

原文地址:https://www.cnblogs.com/lrh-xl/p/5243968.html