阅读书目:Java入门经典(第7版) 作者:罗格斯·卡登海德
当方法在子类和超类都定义了时,将使用子类的定义;因此子类可以修改,替换或完全删除超类的行为或属性。
关键字super引用对象的上一级超类,可以引用超类的构造函数,引用超类的变量,引用超类的方法。
使用Java创建的所有类都是Java类层次结构的一部分,因为编写程序时如果不使用关键字extends,则默认超类为Object对象。所有类方法equals()和toString()都是自动从Object类继承来的方法。
数组列表ArrayList是一个存储相同类对象的数据结构,位与Java.util类包中。
创建数组列表:
ArrayList servants = new ArrayList();ArrayList servants = new ArrayList(30);
容量只是一个提示值,超出这个值数组列表会进行对应调整。
ArrayListservants = new ArrayList ();
"<"和">"符号是泛型的语言特性
servants.add("Bates");servants.remove("Bates");int servantCount = servants.size();for (String servant:servants){ System.out.println(servant);}servants.remove(4);
通过调用get(int)方法以及元素在列表中出现的位置,可以检索该元素。
调用列表indexOf(Object)方法确定是否存在特定对象,该方法返回对象的位置,没有找到返回-1.
哈希映射是Java在的一种数据结构,它使用对象来检索另一个对象(键值对),它是作为java.util包中的HashMap类来实现的。
HashMap phonebook = new HashMap();HashMap phonebook = new HashMap(30,0.7F);
容量是可以存储哈希映射值的存储桶的个数,负载因子是在自动增加容量之前,可以使用的存储桶的个数比例。默认值为16和0.75.
HashMapphonebook = new HashMap<>();phonebook.put("Hello","233");int number = phonebook.get("Hello");//没有返回nullint number = phonebook.getOrDefault("Hello",-1);//没有返回-1
containsKey(Object)和containsValue(Object)查找键或值是否存在,返回布尔量。
size()方法指示条目个数。
entryset()方法返回一个条目集合
for(Map.Entryentry:map.entrySet()){ String key = entry.getKey(); Font value = entry.getValue();}
其中每个条目使用Map.Entry表示,这是java.util包Map类中一个内部类。
util中还有位设置,栈和属性等数据结构的实现。