您的位置 首页 java

Java基础小知识点

来自各种地方以及自己的总结

1.equals() == 的区别?

equals() Object 类中的方法,而 == 是运算符

equals() 比较的是内容,而 == 比较的是地址

2.传值和传址

传值:例如 a=b b 的值传给 a 修改 a 并不会影响到 b

传址:例如 a=b b 的地址传给 a ,修改 a 的同时会影响到 b

3.为什么我们常说 字符串 是不可变的?

字符串的底层是 char[] 类型的字符数组

字符串被创建的时候保存在字符串常量池里(jdk1.7之前字符串常量池在方法区,jdk1.7之后, 字符串常量 池在堆区),加入有 String str=”abc” ,当执行 str=”def” 的时候,字符串常量池这的 abc 并不会销毁,而是在字符串常量池中添加新的 def 并将其指向 str

4.switch()-case 可以接受的类型

jdk1.7之前 switch-case 所接受的参数只能是整形或者转换为整形后没有损失的类型 int char byte short
还有枚举 enum jdk1.8之后在此基础之上增加了 String 类型.

5.运行时异常和编译器异常有和异同?

运行时异常 这意味着程序存在bug,如数组越界,0被除,传参不规范

编译器异常也叫检查期异常,编译器直接飙红

十种常见的异常

  1. 1. Java . lang .NullPointerException 空指针异常

  2. 2.java.lang.ClassNotFoundException 指定的类不存在

  3. 3.java.lang.NumberFormatException 数字格式异常

  4. 4.java.lang.IndexOfBoundsException 数组下标越界异常

  5. 5.java.lang.IllegalArgumentException 方法参数异常

  6. 6.java.lang.IllegalAccessException 访问权限异常

  7. 7.java.lang.ArithmeticException 数学运算异常

  8. 8.java.lang.ClassCastException 数据类型转换异常

  9. 9.java.lang.FileNotFoundException 文件未找到异常

  10. 10.java.lang.NoSuchMethodException 方法不存在异常

6.try-catch throws throw 如何使用

try-catch 是在方法内部处理异常

throws 是在方法参数列表后向上抛出异常(可以抛出多个,所以是复数)被抛出的异常并没有被处理,只是抛给了 上层调用 方法,谁调用谁处理

throw 是抛出一个异常,获取这个异常的引用,

  1. 单例模式实现的两种方式:

  • 懒汉式

  • 饿汉式

8.String s=new String("xyz"); 在运算的时候涉及几个 String 实例

两个 “xyz” 的时候会有一个实例,然后 new String 的时候产生一个实例

9.冒泡排序

10一个中文几个字节?

不同编码下一个中文所占的字节数是不同的 另外utf-8下不同中文所占的字节数也不相同可能是 2 3 4 字节,GBK下是 2 字节

11. String a=1+9+”abc”; String b=”abc”+1+9; a b 的值是什么?

a 的结果为 10abc

b 的结果为 19abc

12.java 基础数据类型的大小

  1. 抽象类 和接口的区别?

  • 接口定义的是规范,表示的是你能干什么,你能炒菜, 能跑步,能做家务

  • 抽象类本质上还是类,所以表示的你是什么,你是人,是动物.

  • 其他区别:

    *成员变量

    接口中的只有常量,默认修饰符是 public static final

    抽象类中可以有变量,可以有常量

    * 构造方法

    接口中没有构造方法,

    抽象类中有构造方法

    *成员方法

    接口中的只有默认方法和抽象方法

    抽象类中可以有普通方法,可以有抽象方法

14.什么是 多态 ?

    • 成员变量

      编译看左边,运行看左边

    • 普通成员方法

      编译看左边,运行看右边

    • 静态成员方法

      编译看左边,运行看右边

    • 总结 编译看左边,运行看左边,即没有发生多态,多态发生的三个前提分别是 要有继承关系 父类引用执行子类对象 要有方法的重写 因为成员变量和静态成员方法不存在 方法的重写 所以不发生多态.

    15..static final 位置问题

public static fianl void method(){}

public final static void method(){}

16.隐式转换问题

注:所有的基本类型对应的包装类都是 final

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群346942462,我们一起学Java!

文章来源:智云一二三科技

文章标题:Java基础小知识点

文章地址:https://www.zhihuclub.com/188083.shtml

关于作者: 智云科技

热门文章

网站地图