Java笔试面试题每日打卡(1) - 基础篇

题目

–来自《Java程序员面试宝典》

  1. Java语言的优点
  2. Java与C++的异同
  3. 为什么使用 public static void main(String[] args) 这个方法
  4. 如何实现main方法前输出“helloworld”
  5. Java 程序初始化顺序
  6. Java作用域有哪些
  7. 一个Java文件中是否可以定义多个类
  8. 什么是构造函数
  9. 为什么Java中有些接口没有任何方法
  10. Java 中的Clone()方法有什么作用

题目和答案

  1. Java语言的优点
    答:Java语言的优点有:(1)跨平台性,运行在jvm上。任何可以安装jvm虚拟机的都可以运行Java程序(2)纯面向对象 。直接反应生活中的对象,使开发更加容易简单。(3)内置类库多,Java提供很多的内置类库,方便开发人员使用。 (4)安全性和健壮性,Java提供了安全检测和数组校验,可以有效的防止恶意攻击 (5)社区强大,有很多成熟的开源框架。
  2. Java与C++的异同
    答:(1)Java是解释性语言,java编译成字节码由Jvm执行,C++是编译型语言,直接编译成二级制代码(2)Java慢,C++快 (3)Java跨平台,C++不跨平台 (4)Java不支持多继承,但是可以使用多接口实现,C++支持多继承 (5)Java 由 jvm 管理内存分配,C++需要自己管理内存分配
  3. 为什么使用 public static void main(String[] args) 这个方法
    答:这个函数是程序的入口函数,程序编译执行的时候首先执行。且此方法是静态方法调用的时候无需实例化。并且必须使用public static修饰,返回值为void。main是jvm识别的特殊方法名。main方法可以使用 final或者synchorized 修饰
  4. 如何实现main方法前输出“helloworld”
    答:根据静态块的 static{} 静态块的优先级比静态方法高
  5. Java 程序初始化顺序
    答:静态对象 -> 父类 ->父类成员变量->父类方法 -> 子类成员变量->子类方法
  6. Java作用域有哪些
修饰符 当前类 同一Package 子类 其他package
public
private × × ×
protected ×
default × ×
  1. 一个Java文件中是否可以定义多个类
    答:是的。一个java文件可以定义多个类,但是有且只有一个用public修饰的与文件同名的类。如果没有public修饰的类,那就直解定义一个文件名与相同的类就行,
  2. 什么是构造函数
    答:构造函数是在实例化的时候直接赋予类的某一项或多项指定的属性,比如定义了一个书包类并为其指定其构造方法设置它的颜色,那么在实例化的时候就必须对实例化对象进行颜色的指定。如果不指定构造函数,那么系统会默认一个无参构造函数,这个构造函数的权限与类的修饰保持一致。如果父类是一个有参数的构造函数,那么子类必须使用super来调用父类的构造函数,否则子类无法进行实例化。构造函数在实例化的时候只会调用一次。
  3. 为什么Java中有些接口没有任何方法
    答:由于Java不允许多继承,所以提供了接口属性,一个类可以实现多个接口,并且接口的内外部属性只能是public。一个没有方法的接口就是说这个接口不要求你必须要实现某些方法,只是用来标识这是个某某某接口,实现这个接口的类是某某某类型的接口。
  4. Java 中的Clone()方法有什么作用
    答:clone() 方法可以用来克隆一个对象。例如,我们要使用对象A的副本并对它进行部分的修改 ,这个时候我们可以采用new 一个对象B,然后重新将A对象的值复制到B对象。这里的复制一定是要重新开辟内存空间的复制而非引用复制,clone应该就是进行这样的一个思想。clone复制使用深复制和浅复制2中方法,如果是基本类型使用的是浅复制,基本类型的复制是值的复制,而非基本类型的复制是引用的复制。所以基本类型复制可以使用 = 等复制方法,而非基本类型都是对象需要重新开辟内存空间进行复制。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章