Java method相应知识点_很实用的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 charbyte short

还有枚举 enum jdk1.8之后在此基础之上增加了String类型.

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

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

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

如果你想学习java可以来这个群,首先是220,中间是142,最后是906,里面可以学习和交流,也有资料可以下载。

十种常见的异常

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

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

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

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

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

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

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

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

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

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

6.try-catch throws和throw如何使用

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

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

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

6c94ae8506113fe29785cf227fc4369c.png

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

懒汉式

9b4166c9cd7718f8472f7a10903006e7.png

饿汉式

94d169dba47c810a5e548378fcfe30af.png

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

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

9.冒泡排序

21a07114b6c2c5f9b4f1c469a4be5f57.png

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基础数据类型的大小

a6573cc2ef7a5db9df19e1b8bb7cae56.png

抽象类和接口的区别?

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

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

其他区别:

*成员变量

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

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

*构造方法

接口中没有构造方法,

抽象类中有构造方法

*成员方法

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

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

14.什么是多态?

15..static和final位置问题

成员变量

编译看左边,运行看左边

普通成员方法

编译看左边,运行看右边

静态成员方法

编译看左边,运行看右边

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

public static fianl void method(){}

public final static void method(){}

16.隐式转换问题

7655814879fb2958f39b17d87c500cc5.png

6b3f1a024c23e54523f2a5bdbc76df53.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值