Java简答题附答案
- 1. Java有没有goto?
- 有, Goto语句在java中作为保留字, 并没有实现它.
- 带标号的break, continue局限于循环体中跳转
- 带标号的goto可以在一个函数(c语言)中任意跳转
- Goto比带标号的break,continue用法灵活, 正因为太灵活了使程序的逻辑结构变得复杂, 流程不够清晰, 程序的可读性下降
- 所以java把goto保留了.
- 2.在JAVA中如何跳出当前的多重嵌套循环?
- Break关键字+标签, 标签的位置放在最外层循环开始的上一行, 以冒号结束. 即使用break outer到指定的位置, 来结束多重嵌套循环.
- 3.short s1= 1; s1 = 1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
- 没有错; 没有错
- 4.char型变量中能不能存贮一个中文汉字?为什么?
- 可以, 因为char是两个字节, 而unicode的汉字编码所占用的存储空间就是两个字节
- 5.使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- 是引用不能变, 而不是引用的对象不能改变
- 6.接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?
接口可以继承接口, 抽象类可以实现接口, 抽象类可以继承具体类, 抽象类可以有静态的main方法, 还可以直接执行的.- 7.Overload和Override的区别?Overload的方法是否可以改变返回值的类型?
Overload是在一个类里面方法的重载, 指方法名相同参数类型,个数,顺序不同, 来实现的方法重载- Override是在继承关系中, 子类重写父类的方法, 方法名, 返回值, 参数都必须相同.
- 重载的时候是可以改变方法的返回值的, 因为重载与方法的放回值类型无关
- 8.构造方法的作用是什么?构造方法和普通方法的区别?
构造方法的作用是在新建一个对象的时候, 调用构造方法来创建对象.
构造方法和普通方法的区别:- 1.普通方法必须有返回值类型修饰符, 而构造方法不能有返回值类型修饰符;
- 2.构造方法名必须和类名相同
- 3.普通方法用来定义对象的行为, 而构造方法用来初始化
- 9.super()或者this():为什么一定要定义在第一行?是否可以同时出现?
因为super()和this()是调用的父类或本类的无参构造器, 因为Java不允许调用没有初始化的成员. 只有使用了super()或this()来初始化了对象之后, 才能调用该对象并继续进行后续操作.- Super()为什么要定义在第一行? 因为子类的构造器中可能会使用父类的属性或方法, 如果父类都没有被创建, 那么就会导致空指针异常, 因此, super()应先执行, 来创建父类的对象.
- This()为什么要定义在第一行? 因为如果不定义在第一行, 那么当子类创建对象时, 首先会调用父类的无参构造器, 这时候就创建了一个父类的对象. 然后继续执行, 遇到了this()的时候, 就调用该构造器, 而这个构造器又属于是创建子类的对象, 又需要去调用父类的构造器. 也就是说, 造成了资源的浪费, 和同步不一致的问题.
- 不能同时出现, 因为它们两个都要求只能出现在第一行.
- Super()和this()都是调用构造函数进行初始化, 而初始化的动作需要先完成.
- 10.访问修饰符有哪些?各自的作用范围是什么?
- Private: 私有的, 本类中
- Public: 共有的, 任何位置
- Protected: 受保护的, 本类, 同一个包和子类中可以访问
- 缺省的: 同一个包中
11.static的作用和用法?- Static的作用是把属性和方法定义为静态的, 可以在不创建对象的时候就调用这些属性和方法. 它只需要初始化一次, 可用来定义不经常改变的属性, 或者是对象的计数器.
- 用法? 类名.属性 或 类名.方法名() , 即通过类名直接调用.
- 12.是否可以从一个static方法内部发出对非static方法的调用?
- 不可以.
- Static的方法内部职能访问static修饰的属性和方法
- 因为普通的属性和方法是依赖于对象的, 只有创建了对象之后, 才能通过对象进行访问. 而此时静态方法是没有创建对象的, 因此就会报异常.
13.值传递和引用传递的区别?- 1.一个是针对基本数据类型, 一个针对引用数据类型
- 2.值传递传递的是值, 引用传递传递的是地址
- 3.值传递是拷贝了一份新的值给形式参数, 在方法中进行操作不会影响原来的值; 而引用传递的是地址, 两个引用指向同一个地址, 因此方法中改变了这个地址中的数据,那么原来的数据也会改变.
- 14.什么继承?继承有什么优点?继承使用什么关键字?继承的特点?继承的限制?一个类可以同时继承多个类吗?所有类的父类是什么?
继承就是一个类继承另一个类的属性和方法. 继承的优点是可以实现代码的重用, 使组件类型保持一致. Extends关键字, 类只能单继承类, 但可以实现多个接口. 所有类的父类是Object类
15.什么是重写?用什么方法可以强制检当前方法是否重写父类方法?
重写是指在继承关系中, 子类重新实现了父类中存在的方法. @Override关键字
16.什么是多态?多态主要的应用是什么?
多态就是指同一个方法, 不同的实现. 多态分为编译时的多态和运行时的多态, 编译时的多态通过方法的重载实现. 运行时的多态通过方法的重写实现. 多态主要运用于增加程序的灵活性, 增加程序的可扩展性.
17.什么是抽象方法?什么是抽象类?Java抽象类可以有构造函数吗?Java抽象类可以有static方法吗?abstract方法可以用static修饰吗?- 抽象方法就是使用abstract关键字修饰的方法.
抽象类是指abstract关键字修饰的类.
Java抽象类可以有构造函数,
Java抽象类可以有static方法,
abstract方法不能用static修饰, 因为抽象方法需要被继承和实现,
而static修饰的方法是可以通过类名直接访问的, 还没有方法体就被访问逻辑上是不合理的.
18.静态方法可以被重写吗?Java抽象类中可以包含main方法吗?
静态方法不可以被重写. 因为静态方法是在类加载时就被加载到内存中的方法, 在整个运行过程中保持不变, 因而不能重写.
但非静态方法是在对象实例化才单独申请内存空间, 为每一个实例分配独立的运行内存, 因而可以重写.- Java抽象类可以包含main方法
- 19.abstract class 和interface的区别?
- 抽象类是指abstract关键字所修饰的类, 里面可以包含普通方法和抽象方法, 还可以有构造函数和普通属性.
- Interface是接口,里面只能包含常量和抽象方法, 不能有构造方法,普通属性和普通方法, 也不鞥你有main方法,
- 抽象类是一个类, 而接口的核心是方法
20.请说说引用和对象?
引用是指一个指向引用数据类型地址的指针, 对象是指一个类的实例.- 引用可以指向一个对象, 对象也可以包含多个引用
- 对象是引用数据类型, 引用数据类型不仅仅包含对象
Java简答题附答案的更多相关文章
- 2021精选 Java面试题附答案(一)
1.什么是Java Java是一门面向对象的高级编程语言,不仅吸收了C++语言的各种优点,比如继承了C++语言面向对象的技术核心.还摒弃了C++里难以理解的多继承.指针等概念,,同时也增加了垃圾回收机 ...
- 精选30道Java笔试题附答案分析
精选30道Java笔试题解答 都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑 ...
- 2019最新整理JAVA面试题附答案
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 面试java简答题
1. sleep() 和 wait() 有什么区别? 答:1.这两个方法来自不同的类分别是Thread和Object 2.最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他 ...
- java简答题
1.什么是java的平台无关性? Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件.也就是一处编写,处处运行.这就是java的跨平台性. 2.在一台 ...
- 面试官常问的20道Java题目(附答案)-来自Java1234
1. 以下代码的输出结果是(A) int i =3; i = i++; System.out.println(i); A .3 B.4 C.5 a=b++是先将b值赋值给a后b再自增. 2. Ma ...
- 挑战10个最难的Java面试题(附答案)【上】【华为云技术分享】
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/devcloud/article/deta ...
- 挑战10个最难的Java面试题(附答案)【上】
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),验证通过后,输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动&quo ...
- Java研发岗位面试归类B(附答案)
本文承接上文:Java研发岗位面试归类A(附答案): http://www.cnblogs.com/wp5719/p/5870243.html 答案自己网上找的,如有纰漏或错误,烦请指教. 七.数据库 ...
随机推荐
- 2019Unite大会
一年一度的Unite大会,在今年(2019)的5月10日准时在上海的国际会议中心盛大举行.本届大会历时三天,由来自全球的Unity公司技术专家.开发者.艺术家和Unity爱好者们齐聚一堂,展示Unit ...
- Unity开发MMOARPG游戏解决方案
http://www.csdn.net/article/2015-05-07/2824634 天神互动是一家已经上市的以研发MMOARPG游戏为主的技术公司,<苍穹变>是天神互动研发的第一 ...
- [Xcode 实际操作]一、博主领进门-(14)在顶部状态栏显示风火轮以及为应用程序添加应用图标
目录:[Swift]Xcode实际操作 本文将演示在顶部状态栏显示风火轮. 主要用于在执行某个长时间动作时,提示用户耐心等待动作的执行. 在项目导航区,打开视图控制器的代码文件[ViewControl ...
- 【BZOJ1226】[SDOI2009] 学校食堂
题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...
- Windows下MySQL8.0.13解压版安装教程
下载 MySQL8.0.13-64位下载地址 在下载页面的底部,有三种安装包,第一种是MySQL的安装程序,下载完点击安装即可. 第二种是普通的压缩版,体积较小. 第三种是自带debug和测试的压缩版 ...
- Arch Linux 安装记(安装到移动硬盘)
一转眼传说中装起来难于上青天,用起来险如上刀梯(容易滚挂),绰号“洗发水”并被戏称为“邪教”的 Arch Linux 已经用了几个月.某些关于其安装难度和稳定性的传说实在太夸张了,反而觉得这才是适合懒 ...
- 【aspnetcore】异常捕捉可用知识点
1.使用过滤器ExceptionFilter:补充:常用过滤器:AuthorizationFilter.ActionFilter.ResultFilter.ResourceFilter.Excepti ...
- #118. 【UR #8】赴京赶考
链接:#118. [UR #8]赴京赶考 高中,高中,短暂的三年.NOI是高中结业考试,而高考在每年暑假举行. 高二暑假,这是你最后一次参加高考的机会.你已经为了高考停课很久了,OI的知识很久没管了. ...
- JS语法学习笔记
JS语法: JS知识点一览图 JS知识点一览图 在function中写this,在本function中可以显示,写Person则显示undefined. 在function中写Person,在func ...
- body和普通div背景图宽高百分比的区别
body和普通div背景图的区别 background: url(//m.360buyimg.com/mobilecms/s220x220_jfs/t2746/167/831241799/29915 ...