黑马程序员   两道java面试题

1.List,Set,Map是否都继承了Collection接口?
 List,Map比较常用:List是通过下标来访问元素,Map是通过键值进行访问元素。应该不会同时都实现了Collection接口.
 Collection是一个什么概念?还有Set在java中是怎样定义的?他是通过下标来访问元素还是通过键值来访问元素?两者谁继承了Collection接口呢?或者有没有可能两者都继承了Collection接口?
时间不多了,我是这样写的:
 Set,Map实现了Collection接口。而List不需要实现Collection接口。
回家一翻资料,发现这个问题我完全回答错了。

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。所有实现Collection接口的类都必须提供两个标准的构造函数:
无参数的构造函数用于创建一个空的Collection,有一个Collection参数的构造函数用于创建一个新的Collection。
 如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,
使用该迭代子即可逐一访问Collection中每一个元素。典型的用法如下:
Iterator it = collection.iterator();
while(it.hasNext()) {
Object obj = it.next();
}
由Collection接口派生的两个接口是List和Set。

List和Set的区别:List以元素安插的次序来放置元素,不会重新排列;而Set不接爱重复元素,它会使用自己内部的一个排列机制

标准答案是:
List和Set继承了Collection接口,而Map没有继承Collection接口

2.Overload和Override的区别
我知道Overload是重载,Override是覆盖。但有关他们的定义和区别,我脑子里真没什么影像了.于是我就写了这么一句话。回去以后一翻书,我总算明白了。
Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。
Overload是指同一个类中不同方法,这些方法有着相同的名称和不同的参数类型。
override 是运行时动态决定调用哪个method. 所以叫做多态性。
例如:
定义一个父类:
publci abstract class AnimalClass{
  public AnimalClass(){
  }
  public abstract void description();
}
定义一个子类:
public class CatClass extends AnimalClass{
  public CatClass(){
  }
  public void description(){
   System.out.println("this is cat.");
 }
}
public class DogClass extends AnimalClass{
  public CatClass(){
  }
  public void description(){
   System.out.println("this is dog.");
 }
}
编写一个配置文件prop.properties:
#如果键值为1,执行Cat的description方法,如果键值为2,执行dog的description方法
key=1

public class Test{
  public static void main(String[] args){
    AnimalClass animal = null;
    Properties prop = new Properties();
    prop.load(prop.getClass().getResourceAsStream("/emp.properties"));
    String result =prop.getProperty("key");
    if(key.equals("1")){
      animal = new DogClass();
    }else if(key.equals("2")){
       animal = new CatClass();
    }
    animal.description();
  }
}

而overload 是编译期就决定了调用哪个函数。

黑马程序员   两道java面试题

时间: 2024-12-17 14:21:46

黑马程序员   两道java面试题的相关文章

黑马程序员_Java异常 Java常用库类

Java异常 1,异常的基本概念 异常是导致程序中断运行的一种指令流,它是在运行时期发生的不正常的情况,在Java中,一切的异常都秉着面向对象的设计思想,所有的异常都是以对象和类的形式存在的. 2,异常类的继承结构 在整个Java的异常结构中,实际上有两个最常用的类,Exception和Error,这两个类分别是Throwable的子类 Exception:一般表示的是程序中出现的问题,可以直接使用try....catch处理 Error:一般之的是JVM的错误,程序中无法处理. 3,Java的

黑马程序员 【】java学习之路——TCP(三)客户端上传文件到服务器

------- <a href="http://www.itheima.com" target="blank">android培训</a>.<a href="http://www.itheima.com" target="blank">java培训</a>.期待与您交流! ---------- import java.io.*; import java.net.*; class

黑马程序员——XML解析---java中XML的四种解析方式

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四种:1.DOM解析:2.SAX解析:3.JDOM解析:4.DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于jav

黑马程序员——高新技术---反射

黑马程序员——高新技术---反射 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 反射把Java类中的各种成分映射成相应的Java类,例如一个Java类中用一个Class类的对象表示,一个类中的组成部分:成员变量,方法,构造方

黑马程序员-java 7K面试题之交通灯管理系统

------- android培训.java培训.期待与您交流! -------- 交通灯管理系统 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 1. 异常随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆----直行车辆 由西向而来去往南向的车辆----右转车辆 由东向而来去往南向的车辆----左转车辆 .......  ...... 2. 信号灯忽略黄灯,只考虑红灯和绿灯. 3. 应该考虑左转车辆控制信号灯,右转车辆不受信号灯控制. 4. 具体信号灯控制逻辑与现实

黑马程序员-java 7K面试题之银行业务调度系统

------- android培训.java培训.期待与您交流! -------- 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: 1. 银行有6个业务窗口,1-4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 2. 有三种对应类型的客户:VIP客户.普通客户.快速客户(办理如交水电费.电话费之类业务的客户). 3. 异步随机生成各种类型的客户,生成各类型用户的概率比率为: VIP客户:普通客户:快速客户=1:6:3 4. 客户办理业务所需时间有最大值和最小值,

黑马程序员——Java面试题之银行业务调度系统

                       android培训.java培训.期待与您交流!  对象分析: 1.客户类按照业务分类,客户可以分成三类. public enum Custommer { COMMON ,VIP , EXPRESS; public String toString(){ String name =null ; switch (this ){ case COMMON : name ="普通" ; break; case VIP : name ="VI

黑马程序员-入学笔试题

笔试结束,列一下笔试题和我的解答,最后得分29.7. 1. 编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value. package com.itheima; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class Test1 { public static void m

黑马程序员_关于黑马java班入学测试技术分享-后五(二)

??????????????????????????????????????????????????????????????????????????-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). 本文只要是讲述黑马程序员基础测试题的6-10题,回过头来分析明显