Java中面向对象常见面试题

一、成员变量与局部变量的区别
1、在类中位置不同:
成员变量:在类中方法外定义。
局部变量:在方法声明上或在方法定义中。
2、在内存中位置不同:
成员变量:堆内存。
局部变量:栈内存。
3、生存周期不同:
成员变量:随着类的加载而加载,随着类的消失而消失。
局部变量:随着方法调用而存在,随着方法调用完毕而消失。
4、初始化值不同:
成员变量:由系统默认初始化。对于成员变量,可以不给初始化值,由系统给,然后显示初始化。
局部变量:局部变量在使用之前必须初始化,否则无法使用。
二、有一个学生类Student,里面有一些属性,在测试类中创建学生类对象,经历了那些过程?
Student s=new Student();
1、通过测试类里面main主程序进行加载,加载Student类(Student.class);
2、Student s先在栈内存开辟栈内存空间,创建一个学生对象,需要在堆内存申请堆内存空间;
3、通过无参构造方法给学生类对象进行默认初始化;
4、通过给成员变量赋值的方式,给对象进行显示初始化;
5、显示初始化完毕,整个对象创建完毕之后,给对象进行内存空间地址值分配;
6、通过地址值找到对应对象。

原文地址:http://blog.51cto.com/13678728/2097177

时间: 2024-07-31 16:39:34

Java中面向对象常见面试题的相关文章

Java中的常见面试题

1.sleep()和wait()的区别: 两者都可以控制线性进程,阻塞进程.区别是: -----|sleep():释放CPU,不释放资源(锁).可以通过指定时间来使它自动醒来,时间不到只能调用iterreput()来强行打断: -----|wait():释放CPU,释放资源(锁).必须在有锁的前提下才可以使用,也就是同步代码块.同步方法,使用时:锁.wait();

Java 并发基础常见面试题总结

Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的.系统运行一个程序即是一个进程从创建,运行到消亡的过程. 在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程. 如下图所示,在 windows 中通过查看任务管理器的方式,我们就可以清楚看到 window 当前运行的进程(.exe 文件的运行). 1.2

Java后台开发常见面试题

八种基本数据类型的大小,以及他们的封装类 整数型: byte 1个字节 -128~127 封装类:Byte short 2个字节 -32768~32767 Short Int 4个字节 -2147483648~2147483647 Integer long 8个字节 -2的63方~2的63次方-1 Long 浮点型: float 4个字节 单精度 Float Double 8个字节 双精度 Double 布尔类型: boolean 4个字节 true或false Boolean 字符类型: ch

2019年Java后端工程师常见面试题和感想

来新公司有5个月了,从第二个月开始就参与公司后端工程师的面试工作了,包括校招在内,面试超过100个(包括40个校招的终面)应聘者了,应聘者中有超过10年的技术经理,有6年以上的高级开发,有3到5年的中级开发,有刚毕业的初级开发,当然还有未毕业的硕士生本科生,有入职公司的,也有外包公司来参与公司项目的,总之,各种水平层次的都有,每个人的素质也参差不齐,今天就分两个部分讲一讲,一个是作为技术面试官,我比较喜欢问的问题,二是面试后的一些感想,希望对大家有帮助,同时也是要鞭策自己. 一,常见的面试题 这

java程序员常见面试题

一.基础简答题 1.      super()与this()的区别? super() 调用父类的无参构造方法,this()调用本身类无参构造方法. 2.      作用域public,protected,private,以及不写时的区别? public公共修饰的变量,在其他类都可以访问到 protected 保护 同一个包子类访问 private 私有 只有这个类访问 不写 package 同一个包访问 3.      在JAVA中,如何跳出当前的多重嵌套循环? break:continue跳出

Java软件开发常见面试题(一)

1.如何理解垃圾回收? 垃圾回收是Java语言的一大特性,方便了编程,是以消耗性能为代价的:在Java虚拟机(JVM)中,有一个垃圾回收器,它的作用就是查找和回收没用的对象,以便让JVM更有效的使用内存:尽可能保证可用内存的使用效率,让可用内存得到高效的管理,程序员可以影响垃圾回收的执行,但是不能控制. 垃圾回收器的运行时间程序员是无法决定的,由JVM决定,运行时也是间接执行的,虽然可以通过System.gc( )来强制回收垃圾,但是在该命令执行后无法保证JVM会立即响应执行,下达命令后,会在短

全网阅读过20k的Java集合框架常见面试题总结!

本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.欢迎 Star!). 文末有我的公众号,公众号里有我最新整理的Java学习资料,免费分享. 这么好的文章,一定好先赞后看!!!建议养成这个好习惯!!爱你们!?? 剖析面试最常见问题之Java集合框架 当了会标题党,这是第一次,后面还有很多次!不过这文章全网阅读肯定是超过 20 k 的,而且经过了很多同行的优化,

Java集合框架常见面试题

剖析面试最常见问题之Java集合框架 说说List,Set,Map三者的区别? Arraylist 与 LinkedList 区别? 补充内容:RandomAccess接口 补充内容:双向链表和双向循环链表 ArrayList 与 Vector 区别呢?为什么要用Arraylist取代Vector呢? 说一说 ArrayList 的扩容机制吧 HashMap 和 Hashtable 的区别 HashMap 和 HashSet区别 HashSet如何检查重复 HashMap的底层实现 JDK1.8

JAVA线程操作常见面试题 包括不使用内部类对多个线程加减1

class ManyThreads2 { private int j = 0; public synchronized void inc() { j++; System.out.println(Thread.currentThread().getName() + "inc" + j); } public synchronized void dec() { j--; System.out.println(Thread.currentThread().getName() + "d