• Java--SE简答题2



    2019-11-09 09:48:16

     

    1. 简述static关键字的作用。(5分)

    static可以修饰变量、方法和代码块和内部类,分别称为静态变量,静态方法,静态代码块和静态内部类。

    1) 静态变量属于这个类所有,即由该类创建的所有对象共享同一个static变量。

    a) 不管有多少个对象,静态变量只有1份。(0.5分)

    b) 静态变量存在方法区中。(0.5分)

    c) 可通过对象名.静态变量名,类名.静态变量名两种方式访问。(0.5分)

    d) 静态变量在第一次使用类的时候分配空间。(0.5分)

    2) 静态方法:可通过对象名.静态方法名和类名.静态方法名两种方式访问。(1分)

    3) 静态代码块:当类被第一次使用时执行静态代码块,且只被执行一次,主要作用是实现static属性的初始化。(1分)

    4) 静态内部类:属于整个外部类,而不是属于外部类的每个对象。(1分)

    2. 2.简述接口和抽象类的相同和不同之处。(5分)

    相同点

    抽象类和接口均包含抽象方法0.5分)

    抽象类和接口都不能实例化0.5分)

    两者的区别主要体现在两方面:语法方面和设计理念方面。

    语法方面的区别是比较低层次的,非本质的,主要表现在:

    接口中只能定义全局静态常量。抽象类中可以定义常量和变量0.5分)

    接口中所有的方法都是全局抽象方法。抽象类中可以有0个、1个或多个,甚至全部都是抽象方法0.5分)

    抽象类中可有构造方法,但不能实例化。接口中不能定义构造方法0.5分)

    一个类只能有一个直接父类(可以是抽象类),但可以实现多个接口0.5分)

    二者的主要区别还是在设计理念上,其决定了某些情况下到底使用抽象类还是接口:

    抽象类体现了一种继承关系,目的是复用代码.父类和子类之间必须存在“is-a”的关系,即父类和子类在概念本质上应该是相同的1分)

    接口定义了“做什么”,而实现类负责完成“怎么做”,体现了功能(规范)和实现分离的原则。接口和实现之间可以认为是一种“has-a的关系1分)

    3. 简述ListSetCollectionMap的区别和联系。5分)

    1) ListSetCollection接口的两个子接口1分)

    2) Collection 接口存储一组不唯一,无序的对象1分)

    3) List 接口存储一组不唯一,有序(插入顺序)的对象1分)

    4) Set 接口存储一组唯一,无序的对象1分)

    5) Map接口存储一组键值对象,提供keyvalue映射。Key无序,唯一。value不要求有序,允许重复。(如果只使用key存储,那就是Set1分)

    4. 简述进程和线程的联系和区别。5分)

    进程和线程的联系:(2分)

    1) 线程是指进程内的一个执行单元,也是进程内的可调度实体(0.5分)

    2) 一个线程只能属于一个进程,一个进程可有多个线程,至少一个线程(1分)

    3) 进程和线程都可以并发执行(0.5分)

    线程与进程的区别:(3分)

    1) 根本区别:线程是调度和执行基本单位,进程时分配资源的基本单位。(1分)

    2) 开销:进程间切换开销大,线程间切换开销小(1分)

    3) 所处环境:在操作系统中能同时运行多个任务(进程) 在同一应用程序中有多个顺序流(线程)同时执行(1分)

    5. 简述基于TCPSocket编程的主要步骤(5分)

    服务器端编程步骤:

    1) 构建一个ServerSocket实例,指定本地的端口。1分)

    2) 调用accept()方法来获得客户端的连接请求。通过accept()方法返回的socket实例,建立了一个和客户端的新连接。1分)

    3) 通过这个返回的socket实例获取InputStreamOutputStream,可以通过这两个stream来分别读和写数据。0.5分)

    4) 结束的时候调用socket实例的close( )方法关闭socket连接。0.5分) 

    客户端编程步骤:

    1) 构建Socket实例,通过指定的远程服务器地址和端口来建立连接。1分)

    2) 通过Socket实例包含的InputStreamOutputStream来进行数据的读写。0.5分)

    3) 操作结束后调用socket实例的close方法,关闭。0.5分)

     

     
  • 相关阅读:
    洛谷P2437 蜜蜂路线
    树莓派python3安装face_recognition和opencv2
    记事本
    python中退出多层循环的方法
    openwrt 不死uboot Breed大全
    python通过http下载文件的方法
    Python37 GUI Qt5安装与使用
    openwrt Python3.6通过自带的urllib通过get或post方法请求url
    openwrt 版本源码地址
    echo追加和覆盖
  • 原文地址:https://www.cnblogs.com/9797ch/p/11824307.html
Copyright © 2020-2023  润新知