面试题目(三)编码,注释,访问修饰符,关键字

Java语言采用何种编码方案?有何特点?

  1. 采用Unicode编码标准,通过用双字节来表示一个字符,从而在更大范围内将数字代码映射到多种语言的字符集。为每一个字符定义了唯一的数值。
  2. 因此无论是什么平台,什么语言,什么程序都可以放心使用

什么是Java注释

  1. 用于解释JAVA程序的文字
  2. 分类
    • 单行注释://
    • 多行注释:/**/
    • 文档注释:/** */
  3. 作用:增强代码的可读性,通过注释能够更快的理解程序信息,注释与注释之间不能够嵌套

访问修饰符 public,private,protected,以及不写(默认)时的区别

  1. public:对所有类公开
  2. private:只对当前类公开
  3. protected:对于同包内的类和子类公开
  4. 不写:对于同包内公开

&和&&的区别

  1. & 和 && 都可以作为逻辑与
  2. &还可以作为按位与
  3. 如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。

final 有什么用?

  1. 被final修饰的类不可以被继承
  2. 被final修饰的方法不可以被重写
  3. 被final修饰的变量就变成常量
  4. 被final修饰的引用类型,则在其初始化之后便不能指向其他对象了,但是该引用所指向的对象的内容是可以发生变化的。

final finally finalize区别

  1. final:是一个修饰关键字,修饰类,方法和变量
  2. finally:作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。
  3. finalize:是一个方法,属于Object类的一个方法,该方法一般由垃圾回收器来调
    用,当我们调用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾,一个对象是否可回收的最后判断

this关键字的用法

  1. this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
  2. 用法:
    • 普通的直接引用,相当于指向当前对象本身
    • 利用this区分形参与成员名字重名
    • 引用本类的构造函数

super关键字的用法

  1. 指向自己超类(父类)的指针,超类指的是离自己最近的类。
  2. 用法:
    • 可以引用父类的成员或者方法
    • 可以区分与子类名字相同的成员变量和方法

this与super的区别

  1. 调用成员变量
    • this可以调用本类的成员变量,也可以调用父类的成员变量
    • super只可以调用父类的成员变量
  2. 调用构造方法
    • this调用的本类的构造方法
    • super调用的父类的构造方法
  3. 调用成员方法
    • this可以调用本类的成员方法也可以调用父类的成员方法
    • super只调用父类的成员方法

static存在的主要意义

  1. 创建独立于具体对象的域变量或者方法。以致于即使没有创建对象,也能使用属性和调用方法!
  2. 用来形成静态代码块以优化程序性能

static的独特之处

  1. 被static修饰的变量或者方法是独立于该类的任何对象,也就是说,这些变量和方法不属于任何一个实例对象,而是被类的实例对象所共享。
  2. 在该类被第一次加载的时候,就会去加载被static修饰的部分,而且只在类第一次使用时加载并进行初始化,注意这是第一次用就要初始化,后面根据需要是可以再次赋值的。
  3. static变量值在类加载的时候分配空间,以后创建类对象的时候不会重新分配。赋值的话,是可以任意赋值的!
  4. 被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加载完毕之后,即便没有创建对象,也可以去访问。

static应用场景

  1. 某个成员变量是被所有对象所共享的,那么这个成员变量就应该定义为静态变量。
  2. 静态代码块
  3. 修饰类【只能修饰内部类也就是静态内部类】
  4. 静态导包

static注意事项

1、静态只能访问静态。
2、非静态既可以访问非静态的,也可以访问静态的。

break ,continue ,return 的区别及作用

  1. break 跳出总上一层循环,不再执行循环(结束当前的循环体)
  2. continue 跳出本次循环,继续执行下次循环(结束正在执行的循环 进入下一个循环条件)
  3. return 程序返回,不再执行下面的代码(结束当前的方法 直接返回)

在 Java 中,如何跳出当前的多重嵌套循环

  • 可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。
 ok:
    for (int i = 0; i < 10; i++) {
        for (int j = 0; j < 10; j++) {
            System.out.println("i=" + i + ",j=" + j);
            if (j == 5) {
                break ok;
            }

        }

总结

转载:JAVA基础面试题
总的来说还是回忆起之前所学,有些细节的点还是需要翻一翻的

猜你喜欢

转载自blog.csdn.net/qq_41816516/article/details/106691511