思特奇2019校招笔试题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/strivenoend/article/details/83039822

这里仅记录自己不会的哦,有需要的可以参考下哦

1Java接口的修饰符可以为(d)

  A.private        B.proected         C.final          D.abstarct

有这道题,我又重新理解了一下接口 

接口用于描述系统对外提供的所有服务,因此接口中的成员常量和方法都必须是公开(public)类型的,确保外部使用者能访问它们

接口仅仅描述系统能做什么,但不指明如何去做,所以接口中的方法都是抽象(abstract)方法;

接口不涉及和任何具体实例相关的细节,因此接口没有构造方法,不能被实例化,没有实例变量,只有静态(static)变量

接口的中的变量是所有实现类共有的,既然共有,肯定是不变的东西,因为变化的东西也不能够算共有。所以变量是不可变(final)类型,也就是常量了

public  abstract interface A{

public static final int name="xx";

public abstract void output(){}

}

java8接口新特性,我怕是落伍了

package JianZhiOffer;

public  interface SiTeQI {
    public static void say(){

    }
    public static void main(String []args){

    }
    public default void dance(){
        
    }
}

今天我本来想在普通的类中去写一个main函数,可是弄巧成拙居然在刚刚定义的接口里写上了,然后奇怪的是,我发现竟然没有

报错?接口居然允许有方法体?后来上网查了一下,才觉得自己落伍了!

 Java8比起以前的版本存在很大的变化,我们知道在之前的版本中接口只能是定义抽象的方法,是不能定义实现的,但是在java8环境下,这个不可能已经变得可能。下面我们通过例子一步一步的来讲解下java8的用法。

在接口中可以定义实现的方法体是java8的一大特性,可以定义多个静态或者默认的方法,静态必须加上static,默认方法必须加上default关键字。


  此外,值得注意的是:面向对象中,java只是支持单继承,不支持多继承,一个类只能继承一个类,

  (1)如果多个接口定义了同样的静态方法,

          即使存在实现类,同时实现多个接口,仍然是不可使用实现类名调用接口的方法

  (2)如果多个接口定义了同样的默认方法

         实现类实现多个接口时,必须重写掉默认方法,否则编译失败。

  
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.要想在你的视图上成功的执行查询需要做什么?(B)

  A.只能在基础表中有select权限             B.在视图中需要有select权限

  C. 基础表中必须有数据                    D.基础表必须在同一个 用户模式中

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下【b】定义能正常编译通过。

  A.boolean f=1                          B.boolean f=true

  C.int k=028                             D.char c="a"

解释一下c选项吧,我们知道高级语言默认8进制以0开头,16进制以0x开头,

然而这里的028请你擦亮眼睛,他可不是8进制,谁家8进制还有8?在这种情况下编译器认为他是10进制,然而10进制是不允许被这么定义的,java编译器根本不识别,因此会出现编译错误

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

3子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用,他说的对吗

不对,只能直接调用非私有的方法。如果是private修饰的方法,子类也是不能调用的。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

4关于overload(重载)说不正确的是

  A.参数类型、个数、顺序至少有一个不相同。   B.不能重载只有返回值不同的方法名

  C.存在于父类和子类、同类中。       D.方法被定义为final不能被重载

A

=-----------------------------------------------------------------------------------------------------------------------------------------------------------------------5.以下声明合法的是(b)

  A.default  String  s               B.public  final  static  native  int  w( )

  C. abstract  double  d            D. abstract  final  double  hyperbolicCosine( )

abstract /default不能修饰属性,只能修饰方法,abstract&& final绝对永不到一起 去,不然子类怎么重写父类的方法?

 

猜你喜欢

转载自blog.csdn.net/strivenoend/article/details/83039822