java面向对象问题与解决汇总
1.堆栈比较(深入探究点)
注意:堆栈都是在内存中存储的数据
2. PC寄存器
存储当前正在执行的 JVM指令的 地址,每个线程启动时, 都会创建一个PC寄存器
3. 本地方法栈:
保存本地(native)方法的地址,调用本地方法的东西
4.this的三大作用:
调属性,调方法,表对象(前两者可以实现的原因就是因为this表自身对象)
5.包的命名规则:
com.公司名.项目名.模块名…
6.权限修饰符详解
Public:全可用
Private:本类可用
注意default就是说没有任何访问修饰符修饰的意思,同包可访问,不同包禁止
汇总如下:
7.抽象物:
8.里式替换:
子类可以替换父类,所以有多态中子类可以直接赋给父类,父类要强转子类后在赋给子类。
9.Object类中的tostring方法:
是用来更详细的描述对象的信息用的,区分C#中的作用(转成字符串),建议每个类中都重写他
10.Object类中的equals方法
11.包装类:
为了实现所有都是类的原则,对java的8中基本数据类型进行包装,形成的类
12.拆箱和装箱的操作:
基本类型转包装类:装箱,
包装类转基本类型:拆箱
13.可变参数:
不知道要传过来几个参数
14.递归:
本质就是自己调自己,一定要有出口
15.异常中的抛出和捕获处理的时机
传参异常要抛出,方法异常要捕获,不管是抛出还是捕获了,程序都是戛然而止,不在往下进行了
16. throw和throws的区别:
throw是语句抛出一个异常。语法:throw (异常对象);throw e;
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
语法:(修饰符)(方法名)([参数列表])[throws(异常类)]{…} public void
doA(int a) throws Exception1,Exception3{…}