10-11Java刷题

1、在如下所示的类Test中,共有()个构造方法。

public static void main(String[] args)
{
          private int x;
          public Test()
          {
                x=35;
           }

           public void Test(double f)
           {
                    this.x=(int)f;
           }

          public Test(String s)  {}
}

解析:三个。构造方法要可以用public,protected,private修饰,不可以有返回值,方法名与类名一致。
2、在Java中,File类提供定位本地文件系统,对文件或目录及其属性进行基本操作。
FileInputStream用于读取诸如图像数据之类的原始字节流。
FileReader从InputStreamReader类继承而来,该类按字符读取流中数据。
FileWriter从OutputStreamReader类继承而来,该类按字符向流中 写入数据。
File代表磁盘中是存在的文件目录。
3、java接口的方法修饰符可以为abstract(忽略内部接口)
(1)抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。原因如下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法可以通过类名来访问该方法(即该方法的方法体),抽象方法用static修饰没有意义;使用synchronized关键字是未该方法加一个锁,而如果该关键字修饰的方法是static方法,则使用的锁就是class变量的锁。如果是修饰类方法,则用this变量锁,但是抽象类不能实例化对象,因为该方法不是在该抽象类中实现的,是在其子类实现的。所以锁应该归其子类所有。所以抽象方法也就不能用synchronized关键字修饰了;native本身就和abstract冲突,他们都是方法的声明,只是一个把方法实现交给子类,另一个四个移交给本地操作系统。如果同时出现,就相当于即把实现移交给子类,又把实现移交给 本地操作系统,那到底谁来实现具体方法呢?
(2)接口是一种特殊的抽象类,接口中的方法全部是抽象方法(但其前的abstract可以省略),所以抽象类中的抽此昂方法不能用的访问修饰符这里也不能用,而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,但是要用public去修饰。接口可以去继承一个已有的接口。
4、下面的程序输出的结果是(10)

public class  A implements B{
public static void main(String args[]){
      int i;
      A a1=new A();
      i=a1.k;
      System.out.println("i="+i);
      }
}
interface B{
       int k=10;
 }

不懂!!有待解决!!
5、事务隔离级别是由数据库系统实现的。
在操作系统中,为了有效保证并发读取数据的正确性,提出失误隔离级别;为了解决更新,丢失,脏读,不可重读(包括虚读和幻读)等问题在标准SQL规范中,定义了4个事务隔离级别,分别为未授权读取,也称为未提交(read uncomm);授权读取,也称为读提交(read committed);可重复读取(repeatable read);序列化(serializable)。
写java程序只是设定事物的隔离级别,而不是去实现它。
Hibernate是一个Java的数据持久化框架,方便数据库的访问。
失误隔离级别由数据库系统实现,是数据库系统本身的一个功能。
JDBC是Java database connector,也就是java访问数据库的驱动。
6、一般情况下以下哪个选项不是关系数据模型与对象模型之间的匹配关系?
A表对应类
B记录对应对象
C表的字段对应类的属性
D表之间的参考关系对应类之间的依赖关系
解析:D
7、在这里插入图片描述
解析:HashMap在单线程中使用大大提高效率,在多线程的情况下使用HashTable来确保安全。HashTable中使用synchronized关键字来实现安全机制,但是synchronized是对整张hash表进行锁定,即让线程独享整张hash表,在安全同时造成了浪费。concurrentHashMap采用分段加锁的机制来确保安全。
8、What is displayed when the following is executed:

double d1=-0.5;
System.out.println("Ceil d1="+Math.ceil(d1));
System.out.println("floor d1="+Math.floor(d1));

解析:Ceil d1=-0.0
floor d1=-1.0
ceil:大于等于x,并且与它最接近的整数
floor:小于等于x,且与它最接近的整数
如果参数是NaN,无穷、正0、负0,那么结果与参数相同。
9、在这里插入图片描述
解析: 含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class
类中定义抽象方法必须在具体
(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。
接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。
下面比较一下两者的语法区别:
(1)抽象类可以有构造方法,接口中不能有构造方法。
(2)抽象类中可以有普通成员变量,接口中没有普通成员变量
(3)抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
(4) 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然
eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
(5)抽象类中可以包含静态方法,接口中不能包含静态方法
(6)抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
10、Java的50个关键字是: abstract assert boolean break byte case catch char class const continue default do double else extends enum final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while 另外三个:true false null是保留字。

猜你喜欢

转载自blog.csdn.net/Cystal_ll/article/details/83006588