面试随手记

随手记,回头总结

1、java 关键字?
abstract    assert    boolean    break    byte
case    catch    char    class    continue
default    do    double    else    enum
extends    final    finally    float    for
if    implements    import    instanceof    int
interface    long    native    new    package
private    protected    public    return    strictfp
short    static    super    switch    synchronized
this    throw    throws    transient    try
void    volatile    while    

2、protected friend 区别?
3、static 的作用?
JAVA中的static
作用
  有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main()。因为在程序开始执行时必须调用main() ,所以它被声明为static。
  声明为static的变量称为静态变量或类变量。可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量,但最好采用前者,因为后者容易混淆静态变量和一般变量。静态变量是跟类相关联的,类的所有实例共同拥有一个静态变量。
  声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。静态方法不能被子类的静态方法覆盖。

4、abstract class 和interface的不同之处
 抽象类是不完整的,并且它只能用作基类。它与非抽象类的不同:
  1抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。
  2允许(但不要求)抽象类包含抽象成员。
  3抽象类不能被密封。

抽象类与接口紧密相关。然接口又比抽象类更抽象,这主要体现在它们的差别上:1)类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。2)抽象类当中可以存在非抽象的方法,可接口不能且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。3)抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。4)这一点也是最重要的一点本质的一点"抽象类是对象的抽象,然而接口是一种行为规范"。


5、Python和java的相似和不同之处

Python可以非常灵活高校的调用c/c++ ,而且语言精简,而JAVA的跨平台性还有高扩展性是现在开发的主流,这两门语言面对的使用群体不同

Python是一种动态语言,最大的特点是执行时编译。最大的长处是库非常的多而且全,和C/C++结合方便。

Python是一种弱类型语言,写程序非常的方便,比如说100000000000000*100000000绝对不会给你算溢出了(当然速度不会快哪里去哈)。 

JAVA则是换一种思想,首先将代码编译为一种中间层,然后在运行时再次编译。最大的长处是跨平台,代码具有一定的可保护性。JAVA是强类型语言。在integer上计算一下10万乘10万绝对郁闷。语法形式和C++比较接近。

posted @ 2012-12-05 15:08  恋霓裳  阅读(374)  评论(0编辑  收藏  举报