Java基础知识之基本概念

  1. Java语言有哪些优点?
    1. Java是纯面向对象的语言
    2. 平台无关性。Java解释性语言,编译器对Java代码进行编译,生成字节码文件,然后由JVM(Java 虚拟机)上解释执行。
    3. Java提供了需要内置的类库。例如对多线程的支持。
    4. 具有较好的安全性和健壮性。Java中提供了一个防止恶意代码攻击的安全机制。另外,还提供了异常处理,垃圾回收器等来保证程序的健壮性。
    5. 提供了对Web应用开发的支持。例如Servlet,JSP可以用来开发Web应用程序。Socket,RMI可以用来开发分布式应用程序的类库。
    6. 去除了C++语言中,难以理解、容易混淆的特性。如指针,头文件,多重继承等。
  2. Java与C/C++有什么异同
    1. Java为解释性语言。而C/C++为编译型语言,源代码经过编译和链接后生成可执行的二进制代码。
    2. Java为纯面向对象语言,C++兼具过程和面向过程编程的特点。
    3. Java没有指针的概念
    4. Java提供了垃圾回收器来实现垃圾的自动回收。C++语言中,需要开发人员去管理对内存的分配(包括申请与释放)。
    5. Java不支持运算符重载,没有预处理器,不提供goto语句(但在Java中goto是保留关键字),具有平台无关性。
  3. 为什么需要public static void main(String[] args)这个方法?
    • public static void main(String[] args)是java程序的入口方法,JVM在运行程序时,会先查找main()方法。通常来说,要执行一个类的方法,需要先实例化一个类的对象,通过这个对象来调用方法。鉴于此,main()的修饰符是public static ,静态方法,在程序加载时,便可以调用main方法。
  4. Java程序初始化的顺序是怎样的?
    • 在Java语言中,当实例化对象时,对象所在类的所有成员变量首先要进行初始化,只有所有类成员变量完成初始化之后,才会调用对象所在类的构造函数创建对象。
    • 执行顺序如下:父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数。
  5. Java中的作用域有哪些?
    • 首先说明Java中不存在全局变量或全局函数
    • 在Java语言中,变量的类型分三种:成员变量,静态变量,局部变量。
      • 成员变量的作用范围与类的实例化对象的作用范围相同。成员变量也有4种作用域,对应的修饰符有public(所有可见),private(当前类可见),protected(当前类,同一个package,子类可见),default(当前类,同一package可见)
      • 静态变量,不依赖于特定的实例,而是被所有实例所共享,也就是说,只要一个类被加载,JVM就会给类的静态变量分配存储空间。
      • 局部变量的作用域,在它所在的花括号内。
    • 需要注意的是,public,private,protected,default只能用来修饰成员变量,不能修饰局部变量。private与protected不能用来修饰类,只有public,abstract,fianl能用来修饰类
  6. 什么是构造函数?
  7. 为什么Java中有些接口没有任何方法?
  8. Java中clone方法有什么作用?
  9. 什么是反射机制?
  10. 如何实现类似于C语言中函数指针的功能?

            

猜你喜欢

转载自www.cnblogs.com/weiziqiang/p/8835788.html