一、字符串想等问题:

1.两个值相同的String类变量相等:

String a = "abc";

String b = "abc";

System.out.println(a == b);

结果:true

2.通过拼接得到的String类变量,即使值相同也不相等:

String a = "ab";

String b = "c";

String c = "abc";

System.out.println((a+b) == c);

结果:false

 

二、print控制台输出的特殊情况:

1.数字+数字+字符(串)输出

System.out.println(100+5+"c");

结果:105c

数字相加在开头系统会自动相加

2.字符(串)+数字+数字输出

System.out.println("c"+100+5);

结果:c1005

数字相加不为开头时系统不会自动相加

 

三、重写(Override)和重载(Overload)的区别

重写是父类与子类的多态表现,重载是一个类的多态表现。

1.重写(Override):

重写是发生在继承之中,子类对于父类方法进行重写(参数列表不变,只对函数体进行修改)。

同时重写方法所抛出的异常必须是父类异常的子类。如:父类为IOException异常,子类所抛出的异常只能为IOException异常的子类不能为Exception。

子类重写方法的访问权限不能低于父类,如父类为public,子类不能为protected。

用final声明的方法不能被重写

用static声明的方法不能被重写但是可以被再次声明

子类父类在同一个包中时,子类可以对父类中所有除了private和final修饰的方法进行重写

不在同一个包中时,子类只能对父类中的public和protected修饰的非final方法进行重写

只有继承了的方法才能被重写

构造函数不能被重写

 

2.重载(Overload)

同一个类中,方法名相同参数列表不同,返回值可以相同也可以不同,访问修饰符可以不同。每一个重载方法都必须有不同的参数列表。

Java-易错疏漏点

 

相关文章:

  • 2021-04-11
  • 2021-10-04
  • 2021-05-24
  • 2021-12-11
  • 2021-05-28
  • 2021-09-25
  • 2022-02-22
猜你喜欢
  • 2021-05-09
  • 2021-07-25
  • 2021-08-29
  • 2022-12-23
相关资源
相似解决方案