Java 基础(一)

  1. JDK和JRE的区别是什么?
    Java运行时环境(JRE)是将要执行Java程序的Java虚拟机,同时也包含了执行applet所需要的浏览器插件。Java开发工具包(JDK) 是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发,编译和执行Java应用程序

  2. "static" 关键字是什么意思?Java中是否可以覆盖(override)一个private或者static的方法?
    “static” 关键字表明一个成员变量或者是一个成员方法可以在没有所属类的实例变量的情况下被访问,Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以在概念上是不适用的。

  3. 是否可以在static环境中访问非static变量?
    static 变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

  4. Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
    Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型,覆盖者可能不会限制它所覆盖的方向的访问

  5. Java中什么是构造函数?什么是构造函数重载?
    当新的对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数。
    Java中构造函数重载和方法重载很相似,可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。

  6. 对象的比较。
    在Java语言中有两种对象的比较方式,分别为"==" 运算符与equals()方法。实质上这两种方式有着本质的区别:
    equals()方法是String 类中的方法,它用于比较两个对象引用所指的内容是否相同,而“==” 运算符比较的是两个对象引用的地址是否相等。


    Java 基础(一)_第1张图片
    更多技术咨询欢迎关注公众号.jpg

你可能感兴趣的:(Java 基础(一))