1.java中的数据类型,各占多少个字节?

  

  

2.面向对象的特性

  1-封装:简单来说,封装就是把数据和操作数据的方法绑定起来,如果需要访问,可以使用已定义的接口进行访问

  2-继承:从已有的类得到继承信息创建新的类的过程。提供继承信息的类称为父类(也叫超类,基类);得到继承信息的类称为子类(也叫派生类)

  3-多态:允许不同的子类对同一消息做出不同的响应,也就是父类的引用指向子类的对象。而多态性又分为编译时多态和运行时多态。方法重载实现的是编译时多态(前绑定),方法重写实现的是运行时多态(后绑定)。实现多态的两件事:第一就是方法的重写(子类继承父类并重写父类中已有的和抽象方法);第二就是对象造型(父类的引用指向子类的对象)

  4-抽象:将一类对象的共同特征总结出来构造类的过程。包括数据抽象和行为抽象。抽象只关注对象有哪些行为和属性,对于行为的细节并不关注

***注意:对象的特性默认情况下有3种,封装,继承,多态。如果面试官说了四种,那就加上抽象

3.访问权限修饰符public,protected,private,default(默认)的区别即访问范围

4.short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

  答:第一个是错的,因为1是int类型的,而s1+1的运算结果也是int类型的,需要强转(也叫下转化)才能赋值给short类型,即short s1=(short)s1+1;第二个是正确的,s1+=1相当于s1=(short)(s1+1),其中有隐含的强制转换

5.new一个对象的过程和clone一个对象的过程有什么区别?

  答:new对象和clone对象的第一步是相同的,都是为了分配内存,而new是根据后面的类型进行内存的分配的,分配完内存之后才调用构造方法,填充对象中的各个域。构造方法返回后一个对象就创建成功了。同时可以将对象的地址发布到外部,在外部就可以用这个地址操作这个对象了。对于clone而言,它的分配内存是根据原对象的内存进行分配的,也就是原对象有多大内存,它就得到多大的内存,然后使用原对象中各个域填充新对象各个域,完成后clone方法返回,同样可以将这个新对象地址发布到外部,可以从外部对其进行操作了。

6.clone中的深克隆和浅克隆的区别

  答:浅克隆只复制基本的数据类型,对于引用类型,只复制引用类型的地址,而引用的对象并没有复制,在新对象中修改引用类型的数据会影响原对象中的引用。

    深克隆不仅复制对象本身,而且也复制它的引用指向的所有对象

7.&&和&的区别

  答:&是逻辑与和按位与运算

    &&是短路与运算

  相同点:两者都要求 运算符两边的boolean值都是true,整个表达式的值才是true

  不同点:如果&&左边的表达式是false,那么右边的表达式会直接短路,不会进行计算。&的按位与是进行二进制按位与的,参与运算的两个二进制数进行按位与,只有对应的两个二进制都为1时,结果才为1,否则为0。如:9&5  
1001&0101---->0001,即9&5为1。

8. 内存中的栈(stack)堆(heap)方法区(method area)的用法

  答:我们通常定义一个基本数据类型的变量,对象的引用,还有就是函数调用现场保存都使用的是JVM的栈空间,而new关键字和通过构造器创建的对象都放在堆空间。堆是垃圾收集器管理的主要区域,而现在的垃圾收集器都采用分代收集算法,所以堆空间还可以细分为新生代和老生代。堆和方法区都是各个线程共享的内存区域,用于存储已经被JVM加载的类信息,常亮,静态变量。常量池是方法区的一部分。栈空间操作起来快但是栈很小,所以平常都存在堆空间里,栈和堆的大小都可以通过JVM启动
参数进行调整。栈空间用光了会引发stackoverflowerror,而堆和常量池不足会引发outofmemmoryerror

    java6开始,由于JIT技术的发展和“逃逸分析”技术的不断成熟、栈上分配等优化技术使得对象一定分配在堆上这件事变的不在那么绝对了

    运行时常量池相当于Class文件常量池具有动态性,java语言并不一定要求常亮只有在编译期间才能产生,运行期间也可以将新的常量放到池中  

9.java中如何跳出当前的多重嵌套循环?

  答:在最外层加个标签, 然后用break 标签可以跳出多重循环了

10.String是否可以被继承?

  答:String类是final类,不可以被继承的

11.数组有没有length()方法?string有没有length()方法?

  答:数组没有length()方法,它有length属性,string有length()方法。在JavaScript中,获得字符串长度是根据length属性得到的

java基础面试题(一)的更多相关文章

  1. 经典的Java基础面试题集锦

    经典的Java基础面试题集锦,欢迎收藏和分享. 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用 ...

  2. 非常全面的java基础笔试题

    下面是java基础笔试题,当时我去笔试,做了1个小时(80道选择题,后面的简答题就没时间做了),结果很吓人,太挫了,最后被面试官忽悠去培训去了,呵呵.我偷偷把面试题弄了下来,用来学习吧,也希望能对你们 ...

  3. Java基础机试题

    package day8;import java.util.Scanner;/** * Java基础机试题 * @author:lyrand * */public class convert {   ...

  4. 100道Java基础面试题收集整理(附答案)

    不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...

  5. 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)

    选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...

  6. 一份最贴近真实面试的Java基础面试题

    这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得 ...

  7. 最新28道java基础面试题-上

    28道java基础面试题 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪 ...

  8. 28道java基础面试题-下

    28道java基础面试题下 15.Java语言如何进行异常处理,关键字:throws.throw.try.catch.finally分别如何使用? 答:Java通过面向对象的方法进行异常处理,把各种不 ...

  9. Java基础面试题集(一)

    Java基础面试题 一.面向对象编程(OOP) 7 二.常见的Java问题 7 2.1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 7 2.2.JDK和JRE的区别是什么? ...

  10. Java基础面试题(史上最全、持续更新、吐血推荐)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

随机推荐

  1. NOIP 模拟 $22\; \rm e$

    题解 对于这个 \(abs\) 就是求大于 \(r\) 的最小值,小于 \(r\) 的最大值,建权值线段树或平衡树. 因为是 \(k\) 个点的联通块,就是求它们的 \(lca\) 到它们的链,可持久 ...

  2. SpringBoot开启异步方法

    在启动类上加入@EnableAsync 异步方法 /** * 简单文本邮件 * @param to 收件人 * @param subject 主题 * @param content 内容 */ @As ...

  3. asp.net core 常见知识点

  4. git新建分支及提交代码到分支

    二.创建分支并提交代码到分支 上述添加成员的方式非常简单,但是如果说每一个小组成员都可以对仓库push内容,就涉及到一个代码的安全和冲突问题了,当多个成员同时在线编辑时容易出现冲突,假设A的代码是有问 ...

  5. WPF---数据绑定(二)

    一.绑定到非UI元素 上篇中,我们绑定的数据源均是派生自UIElement的WPF元素.本篇描述的绑定数据源是一个我们自定义的普通的类型. 注:尽管绑定的数据源可以是任意类型的对象,但Path必须总是 ...

  6. 【java虚拟机】jvm调优

    转自:https://www.cnblogs.com/starhu/p/6400348.html?utm_source=itdadao&utm_medium=referral 堆大小设置JVM ...

  7. jQuery中的表单过滤选择器(四、七)::input、:text、:password、:radio、:checkbox、:file等

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  8. jwt三种方式

    package library.book.demo.config.loginconfig; import com.alibaba.fastjson.JSON; import com.sun.org.a ...

  9. 用C++实现的增强Euler筛法程序

    运行示例 PS H:\Read\num\x64\Release> .\eulerSievePro EulerSievePro: a method to find out all primes b ...

  10. SQLServer数据库之连接查询

    SQLServer数据库之连接查询 表的连接查询的几种方法介绍: inner join on内连接,left join on 左连接 , rigth join on 右连接, full join on ...