java面试题---(随时更新)

1.java是什么?

   java是一种语言,可以用来编写程序;

   java是一种环境,可以在该环境中编写程序运行程序;

2.java语言的特点?

   面向对象:关注的是解决文件的参与者

   跨平台:java语言被编译为 字节码文件,可以被各个平台上的jvm解析

   半编译半解析:ava语言先被编译为字节码,后被jvm解析为本地机器码,后操作硬件

   简单:来自C,语法简单,抛弃了指针\内存管理,还提供大量的类库方便操作

   分布式:就是通过 tcp/ip 网络协议 把多个功能分散在不同的设备中运行,通过网络进行链接

   健壮:提供垃圾回收和异常处理

   安全:不能直接操作底层,对字节码进行各种验证

   多线程:在一个程序中同时可以完成多个任务,大大提高资源的利用

3.JRE和JDK

   JRE(Java Runtime Enviroment)

     java运行环境,提供了运行java程序的支持

    jre=jvm+需要的类库       是运行java程序的最小配置

 

  JDK(Java Development Kit)又称SDK

     java开发工具包(软件开发工具包),提供了编译执行java程序的各种工具和jre

     jdk=jre+工具

4.java中运算符的优先级

      1--------(),++i,--i,!

      2--------算数运算符:+,-,*,/,%

      3--------比较运算符:>,<,>=,<=,!=,==

      4--------逻辑运算符:&,^,||,&&,|

      5--------赋值运算符:=,+=,-=

      6--------i++,i--

5.面向对象的三大特点:

   封装:对外隐藏细节的方式,把属性私有(使用private修饰)

   继承:一个类继承另一个类,自动拥有该类中的所有属性和行为(满足  is a 的关系)

   多态:又叫动态绑定,一个父类表现为多个子类的能力

              必须具备:1.要有继承  2.要有方法重写  3.父类引用指向子类类型的对象

6.类和对象

   类:具有相同属性和行为的一组事物的抽象概念

   对象:客观存在的实例

   类和对象的关系:1.类是抽象的,对象是具体的

                             2.类是程序中构建对象的模板

                             3.对象是类的实例

                             4.每一个类都有0或多个对象,一个对象总是属于一个类

        对象创建的几种方法:
            1.使用new关键字
            2.使用clone方法
            3.反射机制
            4.反序列化
            以上四种都可以产生java对象
           1,3都会明确的显式的调用构造函数
           2是在内存上对已有对象的影印 所以不会调用构造函数
           4是从文件中还原类的对象 也不会调用构造函数

7.Override和Overload

    Overload:方法重载----java中的静态多态(编译时多态)

       在Java中通过在类中写多个方法,这类方法的方法名相同,方法的参数列表不同,即同名不同参。

      重载规则:

             1.方法名必须相同

             2.方法参数必须不同  --i)参数个数不同

                                                ii)参数类型不同

                                               iii)参数类型顺序不同

             3.返回值类型可相同可不同(与返回值类型,修饰符无关)

      Override:方法重写

           子类的方法和父类中继承下来的方法具有完全相同的方法名,返回值类型,方法的参数以及参数类型

        子类重写父类的方法后,在实例化子类的时候则调用的是子类中的方法,父类的方法就如同被覆盖了一样。如果在子类中需要调用父类的方法,则在子类方法中使用super关键字调用父类的方法

      重写规则:

            1.方法名相同

            2.返回值类型相同

            3.参数列表相同(个数,类型,类型顺序)

            4.访问修饰符权限大于等于父类

 

            5.如果父类中被重写的方法抛出异常,则子类中的方法也要抛出异常。但是抛出的异常也有一定的约束--->子类不能抛出比父类更多的异       常,只能抛出比父类更小的异常,或者不抛出异常。例如:父类方法抛出Exception,那么子类就只能抛出IOException或者抛出比Exception       小的异常或者不抛出异常。

区别:

 

区别点

重载

重写(覆写)

英文

Overloading

Overiding

定义

方法名称相同,参数的类型或个数不同

方法名称、参数类型、返回值类型全部相同

对权限没有要求

被重写的方法不能拥有更严格的权限

范围

发生在一个类中

发生在继承类中

 

 

 

  

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值