5.18:JAVA面试题

2018-05-19  本文已影响0人  apollooo

1 以下属于面向对象的特征的是()

   A.重载    B.重写    C.封装    D.继承

答:面向对象的特征主要是:封装、继承、多态。而多态的实现主要是函数方法的重载和重写。所以这道题的答案应该是ABCD。
重载和重写的区别:重载是编译时的多态,指的是在一个类当中同名的方法有不同的参数(包括类型及数量其中一个不同即可)。重写是运行时的多态,指的是子类重写父类的方法且有相同的返回类型。

2 以下代码运行输出是()

public class Person{
private String name="Person";
int age=0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p=new Child();
System.out.println(p.name);
}
}
A. Person B.没有输出 C. 编译出错 D. 运行出错
答:很显然这道题应该选C。在JAVA继承中,子类是可以继承父类的所以属性和方法除了构造器。但是不能访问父类的私有属性和方法。

3 在使用super 和 this 关键字时,以下描述正确的是()

答:super()函数在子类构造函数中调用父类的构造函数时使用,而且必须要在构造函数的第一行。this()函数主要应用于同一类中从某个构造函数调用另一个重载版的构造函数。this()只能用在构造函数中,并且也只能在第一行。所以在同一个构造函数中this()和super()不能同时出现。而在static中只能调用static的方法或者属性。而super和this都属于构造函数。所以不能再static环境中使用。即这道题应选A。

4. 以下对封装的描述正确的是()

答:在JAVA中,封装就是将对象自身的属性或者方法进行访问限制,即privateprotectedpublic。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。在这道题当中A选项中是可以对属性进行封装。B选项中父类的私有方法子类无法调用。所有答案是D。

5. 以下对于继承描述错误的是()

答:JAVA中继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。子类实际上是将父类定义的更加的具体化的一种手段。父类表示的范围大,而子类表示的范围小。一个子类只能够继承一个父类,存在单继承局限,且只允许多层继承,不允许多重继承,Java存在单继承局限。实例化子类对象,会默认先调用父类构造,为父类之中的属性初始化,之后再调用子类构造,为子类之中的属性初始化。所以答案为A

6. 以下程序运行结果为()

public class Person {
public Person(){
  System.out.println("Person");
}
}
public class Teacher extends Person{
private String name="tom";
public Teacher(){
  System.out.println("Teacher");
  super();
}
public static void main(String[] args){
Teacher teacher=new Teacher();
System.out.println(this.name);
}
}

答:通过前面的介绍我们知道,super和this关键字必须在构造器的第一行且不能再静态方法中使用。所以此题选D。

7. 以下说法错误的是()

8. 以下关于final关键字说法错误的是()

9. 访问修饰符作用范围由大到小是()

10 .以下()不是Object类的方法

11. 多态的表现形式有()

12. 以下对重载描述错误的是()

13. 以下()添加到ComputerBook中不会出错

public class Book { protected int getPrice(){ return 30; } }
public class ComputerBook extends Book{ }

14 . 以下对抽象类的描述正确的是()

15. 以下对接口描述错误的有()

16. 以下代码,描述正确的有()

public interface IDemo {
public static final String name;1
void print();2
public void getinfo();3
}
abstract class Person implements IDemo{ public void print(){}; }4

17.接口和抽象类描述正确的有()

18. 以下描述错误的有()

19. 以下描述正确的有()

20. 以下程序运行结果是()

public class Father {
private String name="father";
public String getName(){
return name;
}
}
public class Test extends Father{
private String name="test";
public static void main(String[] args){
Test test=new Test();
System.out.println(test.getName());
}
}

21. 以下对异常的描述不正确的有()

22. 在try-catch-finally语句块中,以下可以单独与finally一起使用的是()

A . catch B . try C . throws D . throw
答:选B。

23 . 下面代码运行结果是()

public class Demo {
public int add(int a, int b){
try{
return a+ b;
}catch (Exception e){
System.out.println("catch 语句块");
}finally {
System.out.println("finally 语句块");
}
return 0;
}
public static void main(String[] args){
Demo demo=new Demo();
System.out.println("和为:"+demo.add(9,34));
}
}

24 . 以下描述不正确的有()

25 . 以下对自定义异常描述正确的是()

26 . 以下程序运行结果是()

public class Test2 {
public int div(int a, int b){
try {
return a/b;
}catch (Exception e){
System.out.println("Exception");
}catch (NullPointerException e){
System.out.println("ArithmeticException");
}catch (ArithmeticException e){
System.out.println("ArithmeticException");
}finally {
System.out.println("finally");
}
}
public static void main(String[] args) {
Test2 Demo=new Test2();
System.out.println("商是:"+Demo.div(9,0));
}
}

27 . 以下对TCP和UDP描述正确的是()

28 . 在Java中,下面对于构造函数的描述正确的是()

29 . 根据下面的代码,String s = null;会抛出NullPointerException异常的有()

30 . 在Java中,关于HashMap类的描述,以下说法错误的是()

31 . 下列选项中关于java中super关键字的说法错误的是()

32 . 在Java中,以下代码( )正确地创建了一个InputStreamReader对象

33 . 在Java中,()类提供定位本地文件系统,对文件或目录及其属性进行基本操作

34 . Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()

35 . 在Java中开发JDBC应用程序时,使用DriverManager类getConnection()方法建立与数据源的连接语句为:Connection con = DriverManager.getConnection(“jdbc:odbc:news”);URL连接中的”news”表示的是()

36 . 在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在()包中。

A . java.lang B . java.sql C . java.util D . java.math
答:java.lang包包含着Java最基础和核心的类,在编译时会自动导入。java.sql可以动态地安装不同驱动程序来访问不同数据源。java.util包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类。集合类、时间处理模式、日期时间工具等各类常用工具包。java.math提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。

37 . Java中,以下()接口以键-值对的方式存储对象。

A . java.util.Collection B . java.util.Map C . java.util.List D . java.util.Set
答:选B。

38 . 以下关于对象序列化描述正确的是()

39 . 在Java中,()类可用于创建链表数据结构的对象。

A . LinkedList B . ArrayList C . Collection D . HashMap
答:选A。

40 . 分析下面这段Java代码,它的运行结果是()。

Import java.io.*;
Public class B{
Public static void main(string [] args){
int i=12;
System.out.println(i+=i-=i*=i);
}
}
A . 100 B . 0 C . -120 D . 程序无法编译
答:选C。

41 . 使用JDBC事务的步骤是()

42 . 以下对JDBC事务描述错误的是( )

43 . 要通过可滚动的结果集更新数据,以下正确的是()

44 . 存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是()

45 . 以下描述正确的是()

46 . 要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是()

String sql=”delete from book where bookName=?”;
PreparedStatement pst=con.preparedStatement(sql);
输出代码
pst.execute();

47 . 获取ResutlSet对象rst的第一行数据,以下正确的是()

48 . 以下可以正确获取结果集的有()

49 . 以下负责建立与数据库连接的是()

50 . 使用JDBC连接数据库的顺序是()

上一篇下一篇

猜你喜欢

热点阅读