导语
  Java 面试题集2021版

Java基础部分三

  • 26、说说has a 与is a的区别
  • 27、一个房间里有一把椅子,椅子有四条腿,房子和椅子是什么关系,椅子和椅子腿是什么关系?
  • 28、什么是参数?参数化的意义是什么?
  • 29、构造器Constructor(构造方法)是否可被override重写
  • 30、接口是否可以继承接口?抽象类是否可实现接口?抽象类是否已可以继承具体的某个类?抽象类中是否可有静态的Main方法?
  • 31、面向对象的特征有哪些方面
  • 32、说出常用的类,包,接口,请各举五个
  • 33、写出JDK中至少5个以上的包名。
  • 34、Java 中实现多态的机制是什么?
  • 35、abstract class 和 interface 有什么区别
  • 36、Java 的接口和C++虚类的相同和不同之处

26、说说has a 与is a的区别

  is-a表示的是属于的关系,也就是说马是属于动物的一种表示的是一种继承的关系。
  has-a 表示的是包含的关系,例如一匹马有一个头,四条腿,等,表示的是关联聚合的一种关系。

27、一个房间里有一把椅子,椅子有四条腿,房子和椅子是什么关系,椅子和椅子腿是什么关系?

  如果房子里有多个椅子,就是聚集的关系,否则则是一种关联关系也就是一一对应的,椅子与椅子腿应该是一种聚合关系。

28、什么是参数?参数化的意义是什么?

  参数就是用来代替一个数的未知数,参数表示的就是一符号,没有实际意义,要让它有实际的意义,就给对应的参数赋值就可以。例如定义一个方法来计算两个数字的和,那么该方法就必须要有两个参数来标识两个加数,但是只有当调用该方法时,给该方法的两个参数赋值后才能执行该方法,例如int add(int a,int b) 方法,只有调用的时候使用具体的数字代替ab两个参数之后才能执行并获取到最终的结果。

  参数化的意义:在数据库调用的过程中,参数化能有效的防止注入式的攻击,在程序方法中,参数化能避免泄漏程序的运行机制与原理,同时也降低了方法的冗余度,提到代码的可读性。

29、构造器Constructor(构造方法)是否可被override重写

  在之前的问题中提到过override与overload的区别,对于override来说就是通过继承的方式来修改某个类的某个方法,但是构造器方法不能被继承,所以不能被重写,但是构造器可以通过参数列表的不同实现重载。

30、接口是否可以继承接口?抽象类是否可实现接口?抽象类是否已可以继承具体的某个类?抽象类中是否可有静态的Main方法?

  接口是可以继承接口,抽象类可以实现接口,抽象类可以继承具体的类。抽象类中可以有main方法。
  只要明白了接口和抽象类的本质和作用,这些问题都是可以分析的,当然有一点需要记住,抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。

31、面向对象的特征有哪些方面

  计算机软件系统是现实生活的业务在计算机中的映射,而在现实生活中的业务其实就是一个个对象协作的过程,面向对象变成就是按实现的业务一样的方式将程序代码按一个个对象进行组织和编写,为了能上吉斯算计能够识别和理解用对象的方式组织和编写程序代码,这样就可以把现实生活中的业务对象映射到计算机系统中。

  面向对象的编程语言有继承、封装、多态三个基本特征。

1、封装
  封装是保证软件部件具有优良的模块性基础,封装的目标就是要实现软件部件的“高内聚,低耦合”,防止程序相互依赖性带来的变动影响。在面向对象的编程语言中,对象是封装的基本单位,面向对象的封装比传统语言的封装更为清晰,更为有力。面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个模块中,也就是一个类中,属性用变量的方式定义,行为用方法的方式进行定义,方法可以直接访问同一个对象中的属性。
2、继承
  在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干的新内容,或者修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是两个类之间的一种关系,使用这种方式来实现的软件的可重用性和可扩展性。
3、多态
  多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程的时候的不确定性,而在程序运行的过程中才能进行确定,即一个引用变量到底会指向那个实力对象,该引用变量发出的方法调用到底是那个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行的时候才能产生具体的类,这样就可以不用修改源代码,流可以让引用变量绑定到各种不同的实现类上,这样就可以引用到具体的方法上,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这个就是多态性。多态性增强了软件的灵活性和扩展性。

32、说出常用的类,包,接口,请各举五个

  • 1.java.lang.Object
  • 2.java.lang.String
  • 3.java.lang.System
  • 4.java.io.file
  • 5.java.io.FileInputStream

  • 1.java.lang
  • 2.java.io
  • 3.java.awt
  • 4.java.util
  • 5.java.sql

接口

  • 1.java.util.List
  • 2.java.util.Map
  • 3.java.util.Iterator
  • 4.java.sql.CallableStatemtent
  • 5.java.lang.Comparable

33、写出JDK中至少5个以上的包名。

  • 1、java.lang 包:Java的核心类库,包含了运行Java程序必不可少的系统类,如基本数据类型,基本数学函数,字符串处理、线程、异常处理类等等,系统缺省加载这个包。
  • 2、java.io 包:Java 语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输出入/输出流等等
  • 3、java.util包:包含处理时间date类,处理编程数组的Vector类,以及stack和HashTable类
  • 4、java.lang.reflect包:提供用于反射对象的工具类包
  • 5、java.net 包:实现网络功能的类库有Socket类。ServerSocket类
  • 6、java.sql 包:提供使用Java编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的API
  • 7、java.awt 包:构建图形用户界面GUI的类库,低级绘图操作Graphics类,图形界面组件和布局管理等,例如CheckBox类、等,以及界面用户控制和事件响应等等。

34、Java 中实现多态的机制是什么?

  Java中实现多态是靠父类或者接口定义的引用变量可以指向子类或者具体实现类的实例对象,而程序调用方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。

35、abstract class 和 interface 有什么区别

  Java中含有abstract修饰符的class即为抽象类,abstract类不能创建实例对象。含有abstract方法的类必须定位为abstract class,abstract class 类中的方法不必是抽象的。 abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以不能有抽象方法或者抽象静态方法。如果子类中没有实现父类中的抽象方法,那么子类必须定义为abstract类型。
  接口(interface) 可以说成是抽象类型的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract 类型,接口中的成员变量类型默认为public static final 。

  比较两者的语法区别:

  • 1、抽象类可以有构造方法,接口中不能有构造方法。
  • 2、抽象类中可以有普通成员变量,接口中没有普通成员变量
  • 3、抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
  • 4、抽象类中的抽象方法的访问类型可以是public ,protected和默认作用域,但接口中的抽象方法只能是public类型,并且默认即为public abstract类型。
  • 5、抽象类中可以包含静态方法,接口中不能包含静态方法
  • 6、抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final 类型,并且默认就是 public static final 类型。
  • 7、一个类可以实现多个接口,但只能继承一个抽象类。

36、Java 的接口和C++虚类的相同和不同之处

  C++虚类相当于Java中的抽象类,与接口的不同之处如下

  • 1、一个子类只能继承一个抽象类,但能实现多个接口
  • 2、一个抽象类可以有构造方法,接口没有构造方法
  • 3、一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现,接口中的方法都是抽象方法,不能有方法体,只有方法声明
  • 4、一个抽象类可以是public、private、protected、default 接口只有public
  • 5、一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default修饰,实现上都是public 的abstract方法。

相同之处:都不能进行实例化对象。

Java校招笔试题-Java基础部分(三)相关推荐

  1. Java校招笔试题-Java基础部分(四)

    导语   Java 面试题集2021版 Java基础部分三 37.abstract 的method 是否可同时是static,是否可同时是native,是否可同时是synchronized? 38.什 ...

  2. Java校招笔试题-Java基础部分(六)

    导语   Java 面试题集2021版 Java基础部分六 62.ArrayList和LinkedList 有什么异同之处? 63.HashMap和HashTable的区别 64.List和Map的区 ...

  3. Java校招笔试题-Java基础部分(二)

    导语   Java面试题集2021版 Java基础部分二 14.hashCode方法的作用? 15.写clone()方法时,通常都有一行代码,这行代码是什么? 16.静态变量和实例变量的区别? 17. ...

  4. Java校招笔试题-Java基础部分(七)

    导语   Java 面试题集2021版 Java基础部分七 73.Set 和List的区别? 74.集合框架中Collection 和Arrays 类的作用 75.TreeSet 里面放对象,如果同时 ...

  5. Java校招笔试题-Java基础部分(五)

    导语   Java 面试题集2021版 Java基础部分五 47.String 和String Buffer的区别 48.StringBuffer和StringBuilder的区别 49.数组有没有l ...

  6. Java校招笔试题-Java基础部分(一)

    导语   Java面试题集2021版 Java基础部分 1.一个.java 源文件中是否可以包括多个类(不是内部类)?有什么限制? 2.Java中有没有goto? 3.说说& 和 && ...

  7. java校招笔试题目_Java校招笔试题

    2020校招笔试题答案及评分标准 满分100分 时间1小时 一.简答题: (5分)写出你用过的linux命令,举例说明其中几个的具体用法. 答案:略.评分标准:正确五个,1分一个. (5分)写出TCP ...

  8. Java工程师笔试题整理[校招篇]

    Java工程师笔试题整理[校招篇] 阿里巴巴 2016 阿里巴巴2016研发工程师笔试题(四) 阿里巴巴2016研发工程师笔试题(三) 阿里巴巴2016研发工程师笔试题(二) 2015 阿里巴巴201 ...

  9. 2014宇龙酷派校招西安java类笔试题(热乎的,还冒烟呢)

    2014宇龙酷派校招西安java类笔试题(热乎的,还冒烟呢) 分类: 校招笔经 or 面经2013-09-18 16:19 674人阅读 经过了 叫人伤感的 阿里,我决定去 这些小公司找找 信心,今天 ...

最新文章

  1. 腾讯AI Lab解析2017 NIPS三大研究方向,启动教授及学生合作项目
  2. 【英语天天读】奥哈拉给女儿的信
  3. Hibernate4组件映射
  4. 基于matlab的局放仿真,基于MATLAB/Simulink系统仿真权威指南
  5. 云计算未来趋势预测:AIaaS、无服务器、云端一体化等将成重点?
  6. jmeter使用_jmeter工具的使用
  7. [vue] 你有写过自定义组件吗?
  8. CSS解决无空格太长的字母,数字不会自动换行的问题
  9. python 如何运行程序
  10. 【MySQL】二,常用的SQL标准有哪些
  11. 信息论与编码_中大网络信息理论与编码研讨会成功举办 SYSU Workshop on Net. Info. Theory and Coding...
  12. 怎么做有内容的二维码?二维码在线制作教程
  13. destoon标签大集合
  14. MySQL当前读和快照读
  15. PTA航空公司VIP客户查询c++版——山东科技大学
  16. IMX6Q安卓解开温度墙,设置高性能模式
  17. RDKit分子的3D结构
  18. 成都物韵电子商务有限公司拼多多代运营若干技巧
  19. 数组No1团队成立了!
  20. ASO优化之如何提高英文关键词的覆盖率

热门文章

  1. Maven的基础概念
  2. c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...
  3. docker 安装wordpress
  4. Scrum立会报告+燃尽图(十月二十四日总第十五次)
  5. EasyUI基础入门之Droppable(可投掷)
  6. “拼木头”算法挑战赛:禁忌搜索算法,用Javascript 跑
  7. 想要一本Linux书籍?投出您想要的Linux书籍,由红联论坛邮寄给您(2007新增)(转)...
  8. cmd完成拷贝文件,并生成两个快捷脚本
  9. gentoo实体机安装显卡驱动和解决多媒体播放问题
  10. 在linux中添加字体