Java基础总结(一)
来源:互联网 发布:lic授权软件破解 编辑:程序博客网 时间:2024/05/02 04:27
文中★部分,为面试常考题。
1、 ★数组和循环下标从0开始的原因
与数据的存储方式,偏移量有关。
第一个元素:首地址 + sizeof(数据类型) * 0 ;
第二个元素:首地址 + sizeof(数据类型) * 1 ;
第三个元素:首地址 + sizeof(数据类型) * 2 ;
从零开始,有便于计算机取首位。
2、★JAVA中是否有引用传递?
JAVA中无论什么类型的数据都只有值传递。传参时,是把实参的值传递给形参。
3、★区分基本数据类型和引用数据类型在做值传递时的差异。
由于两种数据的保存形式的不同。
基本数据类型传递的是值。
引用数据类型传递的是引用的值。
所以在方法里如果同时改变两个个数据的话
基本数据类型是不会改变的(因为在内存中它指向的数据的地址没改变,所以不会发生改变)改变的只是形参。
引用数据类型如果改变的话,他改变的是引用指向的堆中的数据。所以方法结束后也会改变
4、构造方法的执行步骤。
①划分空间 ②在该空间划分属性 ③对属性进行初始化 ④执行我们在构造方法里面书写的代码。
5、什么是标准JAVA类。
① 必须要有公共无参构造。
② 必须为属性提供符合命名规范的get/set方法。
③ 应该实现serializable接口。
6、★请问final/finally/finalize的区别。
Final:关键字。修饰变量成为常量,修饰方法不能被重写,修饰类不能继承
Finally:关键字。异常捕获时使用
Finalize:方法名。Object中的一个方法finalize();由gc调用
7、★抽象类和接口的区别
① 在语法上的不同:抽象类的声明部分需要用abstract关键字修饰,通常情况下,抽象类都会有抽象方法。接口的方法只能是公共抽象方法。两者都不能产生对象。
②设计目的的不同:抽象类,通常作为多个子类的父类,其中的方法是其与生俱来的行为。而接口,可以有多个不同的类来实现,是其中的方法附属添加的行为。
8、★throw 与 throws 的区别,以及说出几个常见的异常类名。
Throw与 Throws的区别详见总结2。
常见异常类名:
运行时异常RuntimeException:NullPointerException、ClassCastException
编译时异常:IOException、SQLException、IllegalClassFormatException
9、★String str= new String(“hello”);
该语句产生了几个对象?
共产生了三个对象:
① 加载期放入字符串常量池的字符串对象
② 运行时new出来放在堆区的字符串对象
③ 类加载时创建的字符串模板对象
- JAVA基础总结(一)
- java基础总结(一)!!!
- Java基础总结(一)
- java基础总结(一)
- Java基础总结(一)
- Java基础总结(一)
- java基础总结(一)
- JAVA基础总结(一)
- JAVA基础总结一:
- java基础总结一
- Java基础总结(一)
- JAVA基础总结一
- Java并发总结(一):线程基础
- Java基础的自我总结(一)
- Java基础总结大纲(一)
- Java并发总结(一):线程基础
- 新手java基础总结(一)
- Java基础知识点总结(一)
- Android中的 事件流----浅析安卓中的动与静(四) 进程间通讯
- onSaveInstanceState和onRestoreInstanceState触发的时机
- Linux环境下的调试器—gdb
- 一些乱语--记录01
- Activity生命周期(包括横竖屏时特殊情况)
- Java基础总结(一)
- C和C++的关系
- 1005 The Largest Generation (25)
- java Thread.join()
- Flex布局
- mysql 查看当前使用的配置文件my.cnf的方法
- ural2070-Interesting Numbers
- Hash表分析以及Java实现
- 求数组中任意n个数的全排列