尚硅谷经典Java面试题(第1季)

尚硅谷经典Java面试题(第1季)

01_尚硅谷_JavaSE面试题:自增变量

在这里插入图片描述
运行结果为i=4;j=1;k=11.
分析:
在这里插入图片描述
参考资料:
①Eclipse打开字节码指令:选择Text.class文件,点击Open With->Class File Viewer
②i++和++i:i++,先运算,后加一;++i,先加一,后运算。
③https://mbd.baidu.com/ma/landingpaget=smartapp_share&appid=oFx3nbdDN6GWF3Vb0Wh7EDBMBxRTTcfe&url=%2Fzhihu%2Farticle%3Fid%3D40645506%26isShared%3D1

03_尚硅谷_JavaSE面试题:类初始化和实例初始化等

在这里插入图片描述
1.运行结果:(5)(1)(10)(6)(9)(3)(2)(9)(8)(7)(9)(3)(2)(9)(8)(7)
2.子类 extends 父类
3.考点:
⑴类初始化的过程(什么情况会导致类初始化,类初始化做了什么事)
⑵实例初始化过程(什么情况会导致实例初始化,实例初始化做了什么事)
⑶方法重写(什么情况下会有方法重写)
4.类初始化过程
①一个类要创建实例需要先加载并初始化该类
◆main方法所在的类需要先加载和初始化
②一个子类要初始化需要先初始化父类
③一个类初始化就是执行()方法,这个叫类初始化方法
◆()方法由静态类变量显示赋值代码和静态代码块组成
◆类变量显示赋值代码和静态代码块代码从上到下顺序执行
◆()方法只执行一次
5.实例初始化过程:
①实例初始化就是执行()方法
◆()方法可能重载有多个,有几个构造器就有几个方法
◆()方法由非静态实例变量显示赋值代码和非静态代码块、对应构造器代码组成
◆非静态实例变量显示赋值代码和非静态代码块代码从上到下顺序执行,而对应构造器的代码最后执行
◆每次创建实例对象,调用对应构造器,执行的就是对应的方法
◆方法的首行是super()或super(实参列表),即对应父类的方法
6.方法的重写Override:
①哪些方法不可以被重写
◆final方法
◆静态方法
◆private等子类中不可见方法
①对象的多态性
◆子类如果重写了父类的方法,通过子类对象调用的一定是子类重写过的代码
◆非静态方法默认的调用对象是this
◆this对象在构造器或者说方法中就是正在创建的对象
7.与方法都存在字节码中,用工具可以查看
在这里插入图片描述最后笔记

04_尚硅谷_JavaSE面试题:方法的参数传递机制

在这里插入图片描述1.运行结果是:i = 1;str = hello;num = 200;arr = [2,2,3,5]
2.考点:①方法的参数传递机制;②String、包装类等对象的不可变性
在这里插入图片描述
2.方法的参数传递机制:
①形参是基本数据类型
◆传递数据值
②实参是引用数据类型
◆传递地址值
◆特殊的类型:String、包装类等对象不可变性
3. i 没变是应为是基本数据类型,是单独一份,地址没变

05_尚硅谷_JavaSE面试题:递归与迭代

编程题:有n步台阶,一次只能上1步或2步,共有多少种走法?(有递归和循环迭代两种方法)
■递归过程:
在这里插入图片描述
代码展示:
在这里插入图片描述1.调试方法:(程序怎么走):先打断点->右键->Debug As->JUnit Test
2.递归方法的优点:代码阅读性高;缺点:运行效率不高
■循环迭代过程:
在这里插入图片描述
代码展示:
在这里插入图片描述
在这里插入图片描述

06_尚硅谷_JavaSE面试题:成员变量与局部变量

在这里插入图片描述

运行结果:2,1,5
         1,1,5


考点:
 ①就近原则->离它最近的声明(要考虑到“分域”问题)
 ②变量的分类 
        ●成员变量:类变量、实例变量 
        ●局部变量 
 ③非静态代码块的执行:每次创建实例对象都会执行
 ④方法的调用规则:调用一次执行一次

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
①栈当中是一方法为单位的
②输出的是成员变量,局部变量执行完就释放了,所以就放一边了
③obj1.test(10);和obj1.test(20);在栈当中是独立分离的
④实例化执行的是():(实例变量初始化、非静态代码块)
百度分析:方法初始化哪些变量和方法

0XXX

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值