电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

面试JAVA必备知识点《JAVA面试宝典》笔记

17页
  • 卖家[上传人]:孙盼
  • 文档编号:195021555
  • 上传时间:2021-09-03
  • 文档格式:DOCX
  • 文档大小:275.41KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、此文档为个人整理,未经允许严禁转载,谢谢配合!常识积累1 成员变量作用范围:publicprotecteddefaultprivate成员变量在堆内存中;局部变量在栈内存中2 一个java文件可以定义多个类,但是最多只能有一个类被public修饰,且这个类名必须与文件名相同。如果没有类被public修饰,则文件名只需要和任意一个类名相同即可。3 instanceof判断实例对象的类型是否实现了一个给定标识接口,cloneable和Serializable是标识接口。4 对象在函数调用和“=”赋值时采用引用传递。5 接口中的方法默认为Public abstract 接口中的成员变量默认为public static final6 如果父类没有定义无参构造函数,子类必须显示地调用父类的构造函数;如果父类定义了无参的构造函数,则子类可以不用显式的调用父类的构造函数。子类需要显式的调用父类的构造函数时,super()必须为构造函数中的第一条语句。7 final修饰属性、方法、类。分别表示属性(引用)不可变、方法不可覆盖、类不可被继承。一个类不能同时被final和abstract修饰。8 stat

      2、ic方法中中不能使用this和super关键字。9 static修饰的代码块只会被执行一次。10 java基本数据类型在声明之后就会在栈上立马被分配内存空间.引用类型则不会在声明时被分配空间,只是存储了一个内存地址.11 所有 基本类型的包装类和string是不可变类。12 不可变类有使用简单、线程安全、节省内存的优点。13 java中原始数据类型按值传递,包装类型在传递参数时按引用传递。14 Math中的round、ceil、floor分别代表:round:四舍五入(加0.5后乡下取整),返回值为intceil:向上取整(取大于该数的最小整数)返回值为doublefloor:向下取整(取小于给数的最大整数)返回值为double15 :有符号右移。正数高位补0,负数高位补1:无符号右移。高位都补0。负数移动的时候计算补码,在补码的基础上操作。移完再求补码得到原码。左移不分有符号和无符号之分。低位补016 char可以存储汉字。String中英文占用一个字符,中文占用两个字符。17 length是数组的属性,length()是String类的方法,size()用于查看泛型集合的元素个数1

      3、8 Iterator只能正向遍历集合;ListIterator继承自Iterator,可以双向遍历list,同时支持迭代期间向list中添加或删除元素。19 ConcurrentModificationException是由于使用迭代器遍历容器的同时又对容器做增加或删除操作所导致的。20 collection是一个集合接口,实现类主要有List和Set。Collections是一个工具类,服务于collection框架,提供一系列静态方法实现对集合对象进行搜索、排序、线程安全化等操作。21 垃圾回收器是一个守护线程,守护线程为守护用户线程而生,当程序中只剩守护线程时,JVM可以退出。22 jdbc使用getObject()性能高于getInt()方法。调用getInt或者getString会把所有数据存放到内存中,而调用getObject时则不会有这个问题,因为数据不会一次性读到内存中。23 conn.createStatement和conn.prepareStatement最好放在循环外面,不用的时候及时关闭。问答题1 java和c+的区别Java是解释性语言,c+是编译性语言。Ja

      4、va源代码经过编译器编译生成字节码文件,然后由JVM解释执行;c+源代码通过编译链接生成可执行的二进制代码。Java比c/c+慢,但是java能够跨平台执行。Java是纯面向对象语言。所有代码都在类中实现,不存在全局变量和全局函数。Java没有指针的概念Java不支持多重继承(多重继承会造成歧义性),java通过接口实现多重继承。Java提供垃圾回收机制,程序员不需要显示地管理分配内存。java不支持运算符重载、不支持goto语句(goto是保留关键字)、不支持自动强制类型转换。2 java的入口函数正确写法有?public static void main(String args);static public void main(String args);public static final/synchronized void main(String args);3 java程序的初始化顺序是怎样的?父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数先静态后非静态,先父类后子类4

      5、 java中的作用域有哪些?变量的类型有三种:成员变量、局部变量和静态变量。成员变量的作用范围和类的实例化对象的作用范围相同。静态变量又称全局变量,只要类被加载,JVM就会给静态变量分配存储空间。局部变量:publicprotecteddefaultprivate当前类同一包子类其他包publicprivateprotecteddefault 5 什么是构造函数构造函数是一种特殊的函数,在对象实例化时初始化对象的成员变量。有如下特点:构造函数名和类名必须相同,且无返回值,也不能是void每个类可以有多个构造函数,当开发人员没有提供构造函数时,编译器会提供一个没有参数的构造函数构造函数可以有0个1个或1个以上的参数构造函数伴随着new一起调用,不能直接调用。构造函数在对象实例化时被调用一次,且只运行一次。构造函数不能被继承和覆盖子类可以通过super来显式的调用父类的构造函数。当父类没有提供无参的构造函数时,子类必须显式调用父类的构造函数。6 java的浅复制和深复制浅复制:被复制对象的所有变量都含有与原来对象相同的值,而所有对其他对象的引用仍然指向原来的对象。深复制:被复制对象的所有变

      6、量都含有与原来对象相同的值,引用其他对象的变量将指向被复制的新对象。7 什么是反射机制?反射机制就是一个类在运行时可以获取自身信息。例如:得到一个对象所属的类,获取一个类的所有成员变量和方法,在运行时创建对象,在运行时调用对象的方法。Class.forName()的作用:把类加载到JVM中,会返回一个与带有给定的字符串名的类或接口相关联的class对象。JVM会执行该类的静态代码块。8 java创建对象的方式共有几种?四种通过new方式创建通过反射机制获取类,Class c=class.forName(“ ”) b=c.Instance()通过clone()创建一个对象通过反序列化的方法创建一个对象。9 面向对象有哪些特征?抽象:继承:新类可以从现有类中派生。封装:将客观事物抽象成类,每个类对自身的数据和方法实行保护多态:允许不同类的对象对同一消息做出响应。同一操作,作用在不同的对象上时,会有不同的语义,从而产生不同的结果。Java的多态主要有两种表现方式:方法的重载和覆盖重载:同一个类中有多个同名的方法,但是这些方法有着不同的参数。是一种编译时多态。覆盖:子类可以覆盖父类的方法,因此

      7、是同样的方法在父类和子类中有不同的表现形式。是运行时多态。只有方法才有多态的概念10 面向对象的开发方式有哪些优点?较高的开发效率、较好的鲁棒性、可重用性(通过继承实现的)、高可维护性11 组合和继承有什么区别?组合是直接在新类里创建原有类的对象,重复利用已有类的功能。是显式的继承是子类和父类具有is_a的关系。子类会继承父类的非私有方法和变量,是隐式的12 抽象类和接口有什么异同?如果一个类中包含抽象方法,这个类就是抽象类。接口中所有的方法都是抽象方法。接口和抽象类的相同点:都不能被实例化;接口的实现类和抽象类的子类都只有实现了接口或抽象类中的方法才能被实例化;不同点:Java8以前,接口中的方法不能有方法体,只能在接口的实现类里实现,抽象类的方法可以在抽象类中被实现。接口需要实现(implement),抽象类需要被继承(extends),一个类可以实现多个接口,但是只能继承一个抽象类。接口中的成员变量默认为public, static,final,只能有静态且不能修改的数据成员,且必须赋予初值。接口中的方法都是public abstract;抽象类可以有自己的数据成员,也可以有不抽

      8、象的类13 java内部类有哪些静态内部类:被声明为static的内部类,不依赖于外部类实例而被实例化。静态内部类不能与外部类有相同的名字,不能访问外部类的普通成员变量,只能访问外部类的静态成员和静态方法(包括私有类型)。成员内部类:静态内部类去掉static之后就是成员内部类,可以自由的访问外部类的属性和方法,无论这些属性和方法是静态的还是非静态的。成员内部类只有外部类被实例化之后才能被实例化,非静态内部类内不能有静态成员。局部内部类:指定义在一个代码块内的类,作用范围只在其所在的代码块。不能被public protected private 以及static修饰。只能访问方法中定义为final类型的局部变量。匿名内部类:没有类名的内部类。不使用关键字class、extends、implement、没有构造函数,必须继承其他类或者接口,多用于GUI(图像用户接口)中实现事件处理,属于局部内部类.14 this和super关键字的区别?this用来指向当前实例对象,它有一个非常重要的作用就是用来区分对象的成员变量和方法的形参。Super可以用来访问父类的方法或成员变量。当子类的成员变量

      9、或方法和父类相同时就会覆盖父类的方法或成员变量,这时要访问父类的方法或成员变量就需要用super关键字。当子类构造函数需要显式的调用父类构造函数时,super()必须为构造函数的第一条语句15 final、finally和finalize的区别?Final用于声明属性、方法和类。表示属性不可变、方法不可被覆盖、类不能被继承。Final修饰的变量不可变是指引用不可变。Final修饰一个方法时,任何子类不能重写这个方法,但是可以使用这个方法。Final修饰类时,类中不能有抽象方法,因为该类不能被继承。Finally作为异常处理的一部分,只能用于try/catch语句中,并附带一个语句块,表示无论代码是否出现异常,finally语句块中的代码都会被执行。Finalize是object类的一个方法,在垃圾回收器执行时会调用被回收对象的finalize方法。 16 static关键字有哪些作用(单例模式)?Static有四种使用情况:成员变量;成员函数;代码块;内部类成员变量:static修饰的成员变量成为静态变量,静态变量属于类。在内存中只有一个复制,只要静态变量所在的类被加载,静态变量就会被分配空间。静态变量的引用有两种方式:类.静态变量,对象.静态变量。静态变量的优点:节省空间,可以被类名调用。缺点:生命周期长,访问局限性。当对象中出现共享数据时可以定义为静态变量.成员函数:static修饰的成员方法是类的方法,不需要创

      《面试JAVA必备知识点《JAVA面试宝典》笔记》由会员孙盼分享,可在线阅读,更多相关《面试JAVA必备知识点《JAVA面试宝典》笔记》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.