- 内部类与静态内部类的区别:
- 普通内部类作为外部类一个成员而存在,在普通内部类中可以直接访问外部类属性,调用外部类的方法
- 静态内部类是相对外部类独立存在的,静态内部类中无法直接访问外部类中变量,方法,如果要访问,必须先new出对象,使用new出来的对象来访问相应的属性,方法;可以直接访问静态的变量,调用静态的方法。
- static关键字的作用
- static修饰的类是静态内部类
- static修饰的方法,代表该方法属于当前类的,而不是属于某个对象的,静态方法不能被重写,静态方法可以直接类名点访问调用,在静态方法中不能使用this或者super关键字
- static修饰变量,该变量将被所有的实例所共享,不会依赖于对象,静态变量在内存中只有一份拷贝,在JVM加载类的时候,只为静态变量分配一次内存
- static修饰代码块:该代码块在整个类加载的时候只会执行一次,再有多个静态代码块的情况下,执行顺序是依次进行。
- final关键字的作用
- 被final修饰的类不可以被继承
- 被final修饰的方法不能被重写,JVM会尝试将其内联,可以提高运行效率
- 被final修饰的变量不能改变
- 被final修饰引用,那么表示引用不可变,引用指向的内容可变
- 被final修饰的常量,在编译阶段会被存入常量池
- Java中math类的常用方法
- Pow() 幂运算
- Sqrt() 平方根
- Round() 四舍五入
- Abs() 求绝对值
- Random() 生成一个0-1随机数,包含0,不包括1
- Java中继承是多继承还是单继承?
- 单继承体现在Java类只能由一个父类
- 多继承体现在对接口来说接口可以继承多个接口
- Super和this指示有什么不同
- Super表示当前类的父类对象
- this表示当前类的对象
- 接口有什么特性
接口:某个事务对外提供的一些功能声明,是一种特殊的Java类,弥补了Java中单继承的缺点
特性:
- 接口可多继承
- 接口不可实例化
- 接口中所有方法都是抽象方法,只有声明,没有实现
- 接口中没有构造
- 接口中声明全是public,static,final
- 字符串常用操作方法
- charAt:返回指定索引处的字符
- indexOf: 返回指定字符的索引
- replace: 字符串替换
- trim:去除字符串两端空白
- split: 分割字符串,返回一个分割 后的字符串数组
- getBytes: 返回字符串的byte类型数组
- length: 返回字符串的长度
- toLowerCase:将字符串转成小写字母
- toUpperCase:将字符串转成大写字符
- subString:截取字符串
- format: 格式化字符串
- equals: 字符串比较
- java创建对象的方式有哪些?
- new创建新对象
- 通过反射机制
- 通过clone机制
- 通过序列化机制
- 深拷贝和浅拷贝的区别是什么?
- 深拷贝:被复制对象的所有变量都含有与原来对象相同的值,而那些引用其他对象的变量将指向被复制的新对象,而不再是原有的那些背引用的对象(深拷贝把复制的对象所引用的对象都复制了一遍)
- 浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而那些引用其他对象的变量将指向被复制过的新对象(浅拷贝仅仅复制所拷贝的对象,而不复制它所引用的对象。



