扩充次数和创建个数问题

ArrayList list = new ArrayList(20);中的list扩充几次

(1)ArrayList()构造一个初始容量为 10 的空列表。
(2)ArrayList(Collection<? extends E> c)构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
(3)ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。
调用的是第三个构造函数,直接初始化为大小为20的list,没有扩容

1、String s =  "abc"    
创建了一个对象;
2、 那么  String a="abc"   ;  String b="abc"  创建了几个对象呢??
答案还是一个;
3、那么 String s = "ab"+"cd";  呢???
3个
4、String s = new String("xyz");创建了几个String Object?二者之间有什么区别?

两个对象。一个是"xyz",为缓冲区对象。另一个是new出来的String对象。

5、String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?

没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。
s = s + " world!";相当于: (JDK 1.5以上版本)
s = new StringBuilder(String.valueOf(s)).append(" world!").toString();

1.final修饰变量,则等同于常量
2.final修饰方法中的参数,称为最终参数。
3.final修饰类,则类不能被继承
4.final修饰方法,则方法不能被重写。 

 final 不能修饰抽象类

final修饰的方法可以被重载 但不能被重写

 
构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行;
重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。
构造方法不能被重写
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/tk55/p/8703046.html