Java知识补漏
内存溢出
在强制类型转换时,有可能产生内存溢出现象,如以下代码
public class Text01{
public static void main(String[] args){
int i = 128;
byte j = (byte)i;
System.out.println(j);
}
}
变量
数字类型变量可以用下划线分割,不影响输出,如以下代码
public class Text02{
public static void main(String[] args){
int money = 10_0000_0000;
System.out.println(money);
}
}
变量命名规范
- 类成员变量:首字母小写和驼峰原则,例如mouthSalary,
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线,例如MAX_VALUE
- 类名:首字母大写和驼峰原则,例如GoodMan
- 方法名:首字母小写和驼峰原则
位运算符
左移 << 相当于 *2
右移 >> 相当于 /2
字符串连接符
字符串连接符:+
在 + 两侧出现String,会将其转换为String类型
当字符串出现在前面时后面会进行拼接
当字符串出现在后面是前面依旧进行运算
public class Text03{
public static void main(String[] args){
int a = 10;
int b = 20;
System.out.println("" + a + b);//输出结果为1020
System.out.println(a + b + "");//输出结果为30
}
}
super 与 this
super
- super调用父类的构造方法,必须在构造方法的第一个
- super必须只能出现在子类的方法或者构造方法中
- super和this不能同时调用构造方法
this
-
代表的对象不同
- this:本身调用者这个对象
- super:代表父类对象的应用
-
前提
- this:没有继承也可以使用
- super:只能在继承条件下才可以使用
-
构造方法
- this( ) :本类的构造
- super( ) :父类的构造
重写
- 需要有继承关系,子类重写父类的方法
- 方法名必须相同,方法体不同
- 参数列表必须相同
- 修饰符:范围可以扩大不可以缩小
- 抛出的异常:范围可以被缩小,不能扩大
多态
- 多态是方法的多态,属性没有多态
- 存在条件:继承关系,方法需要重写,父类引用指向子类对象
抽象类
-
抽象类中可以写普通方法
-
抽象方法只能在抽象类中写
接口
- 所有定义方法默认public abstract,常量默认是public static final
- 实现了接口中的类,必须重写接口中的方法
- 用implements实现多继承