Java面试题集锦02—Java语法基础


05.Java中equal和==的区别是什么
equal和"=="两者均为表示相等的意思,但是它们相等的含义却有所区别。

  • "=="运用在基本数据类型的时候,通过比较它们实际的值来判定是否相同;而用于比较引用类型的时候,则是比较两个引用的地址是否相等,也就是是否指向同一个对象。
  • equal方法是java.lang.Object的方法,也就是所有的Java类都会有的方法。它可以被程序员覆盖重写,通过自定义的方式来判定两个对象是否相等。对于字符串java.lang.String类来说,它的equal方法用来比较字符串的字符序列是否完全相等。

06.请介绍Java中静态成员的特点
类的静态成员是通过static关键字修饰的成员,主要包括:静态成员变量、静态方法和静态代码块,它们具有以下一些特点。

  • 在类加载的时候,就可以创建和初始化或执行代码。
  • 它们对于一个类来说,都只有一份。
  • 类的所有实例都可以访问到它们。

07.简述接口和抽象类的区别
抽象类是一种功能不全的类,接口只是一个抽象方法声明和静态不能被修饰的数据的集合,两者都不能被实例化。从某种意义上说,接口是一种特殊形式的抽象类,在Java语言中,抽象类表示一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

  • 抽象类

    • 抽象类和抽象方法必须用abstract关键字修饰
    • 抽象类中不一定有抽象方法,但有抽象方法的类必须定义为抽象类
    • 抽象类有构造方法,但是不能实例化(构造方法用于子类访问父类数据的初始化)
    • 抽象类的子类是一个抽象类,可以不重写父类抽象方法
      抽象类的子类是一个具体类,必须重写父类抽象方法
  • 接口

    • 接口用关键字interface表示
    • 类实现接口用implements表示
    • 接口不能实例化
    • 接口的子类可以是抽象类,但是意义不大
      具体类实现接口,要重写接口中的所有抽象方法。

08.简述一下内部类的实质是什么
内部类根据定义的情况可以分为以下4种

  • 静态内部类:它相当于外部类的静态成员一样,使用static修饰的内部类,它隶属于外部类,使用起来相当于一个独立的外部类。
  • 成员内部类:它相当于外部类普通的成员一样,隶属于外部类的具体对象,在定义它的时候,需要先创建外部类对象,再创建它的实例。
  • 局部内部类:它定义在一个方法的方法体中,它往往仅作为方法短暂的使用,只能访问用final修饰的局部变量。
  • 匿名内部类:它也定义在方法体中,但是它没有一个具体的名字,具有非常大的灵活性,工作本质与局部内部类类似。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,144评论 0 62
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,697评论 0 11
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 1,228评论 0 5
  • 细水长流,才是爱; 日久生情,才是真; 一时新鲜感,不会长久…
    縸莘齊阅读 156评论 0 0