欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA复习笔记01

程序员文章站 2022-04-10 20:49:32
学了一学期的JAVA,临近期末,整理了一些JAVA考试中需要掌握的点,记录在这里。 1、编译多个JAVA文件,运行程序 (1) (2) 2、JAVA中基本数据类型/占有bit大小 java Unicode码储存char,故有2字节。 boolean的大小取决于上下文。(延伸阅读:https://bl ......

学了一学期的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的大小取决于上下文。(延伸阅读:)

 

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、异常的继承关系

  参考链接:

 

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)子类的异常抛出不能比父类更宽泛(延伸阅读:)
  (2)不能缩小父类方法的访问权限
  (3)静态方法不能重写为非静态方法/反之也不行

 

14、多态

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

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

  例如:

parent partent=new child();

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

 

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

 

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