JAVA复习笔记01

学了一学期的JAVA,临近期末,整理了一些JAVA考试中需要掌握的点,记录在这里。

1、编译多个JAVA文件,运行程序

 (1)

javac 1.java 2.java
java Main

 

 (2)

javac .\*.java
java Main

  

2、JAVA中基本数据类型/占有bit大小

byte 8    short 16
int 32    long 64
float 32    double 64
char 16    boolean 不定

  java Unicode码储存char,故有2字节。

  boolean的大小取决于上下文。(延伸阅读:https://blog.csdn.net/qq_35181209/article/details/77016508)

 

3、JAVA中遇到的double精度损失问题可以使用BigDecimal

 

4、final关键字

  final关键字修饰类,该类不能被继承

  final关键字修饰方法,该方法不能被重写

  final关键字修饰成员变量,该变量不能被改变(必须被初始化)

 

5、访问权限

  由小到大依次为:

  private 同类中

  friendly 同包中

  protected 同包中,子类,子类的子类

  public 全部

 

6、不等长二维数组

int[][] a=new int[3][];
a[0]=new int[4];

 

7、可变参数

public void test(String s,int ... a){}

  可变参数必须放在最后,访问方式类似于数组:a[0],a[1]…

 

8、异常的继承关系

  参考链接:https://blog.csdn.net/u013252223/article/details/71514620

 

9、短路

test(0)&&test(1)&&test(2)

  类似于上面的判断语句,JAVA会顺序执行,在确定该语句的值后不再继续向后执行

 

10、继承关系中的构造顺序

  按先后顺序依次是:

  父类静态成员及static块:有对象实例化就执行,只执行一次
  子类静态成员及static块:有对象实例化就执行,只执行一次
  父类普通成员初始化\代码块执行
  父类构造函数
  子类普通成员初始化\代码块执行
  子类构造函数

  成员初始化的顺序取决于定义的位置前后。

 

11、单例模式

  一种单例模式:

public class Singleton {
    private static Singleton uniqueInstance = new Singleton();
    private Singleton() {}
    public static Singleton getInstance() {
        return uniqueInstance;
    }
    public void foo() {
        System.out.println("Aha!");
    }
}

 

12、仅仅方法返回值不同(参数相同)不能重载,会报错

 

13、方法覆盖

  (1)子类的异常抛出不能比父类更宽泛(延伸阅读:https://blog.csdn.net/yangyong0717/article/details/78494615
  (2)不能缩小父类方法的访问权限
  (3)静态方法不能重写为非静态方法/反之也不行

 

14、多态

  多态中,属性、静态方法会被隐藏,非静态方法会被覆盖。

  被隐藏的方法和变量可以在子类中用super关键字使用(但要有权限)

  例如:

Parent partent=new Child();

  那么此时调用的是本被隐藏的父类的属性和静态方法。

 

15、类继承多个接口时,接口中出现同名函数,他们的返回值不同而参数相同,则会报错。出现同名变量不访问不会报错,如果试图访问则有错误。

 

值得一提的是,如果多继承的两个变量同名但被隐藏了,那么不会报错。

 

点赞