(一)java基础

132 阅读3分钟

1.java的数据类型

  • 基本数据类型
    • 数值型
      • 整数类型(byte,short,int,long)
      • 浮点类型(float,double)
    • 字符型(char)
    • 布尔型(boolean)
  • 引用数据类型
    • 类(class)
    • 接口(interface)
    • 数组([])

image-20210110110352426

2.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上

在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、char、int。从 Java5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 Java 7 开始,expr 还可以是字符串(String),但是**长整型(long)**在目前所有的版本中都是不可以的。

3.java中的访问修饰符

java中的访问修饰符用来控制其他类对该类成员变量和方法的访问权限

  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
  • public : 对所有类可见。使用对象:类、接口、变量、方法 image-20210110114857294

4.java中的运算符

1.算术运算符

  • 基本四则运算符 + - * / %

  • 增量赋值运算符 += -= *= /= %=

  • 自增、自减运算符 ++ –

2.关系运算符

  • 关系运算符主要有六个:== != < > <= >=

3、逻辑运算符

逻辑运算符主要有三个:&& || !

4、位运算符

& | ~ ^

5、移位运算

移位运算符有三个:<< >> >>>

6、条件运算符

条件运算符只有一个: 表达式1?表达式2:表达式3

5.java面向对象的5个原则

  • 单一职责原则(类的功能要单一)
  • 开发封闭原则(一个模型对比扩展是开放的,对于修改是封闭的)
  • 里氏替换原则(子类可以替换父类,可以出现在父类能够出现的任何地方)
  • 依赖倒置原则(依赖于抽象,而不是依赖于具体)
  • 接口分离原则(把这几个功能拆分成不同的接口,比在一个接口里要好的多)

6.内部类

内部类可以分为4种:

  • 成员内部类:成员内部类可以访问外部类所有的变量和方法,包括静态和非静态,私有和公有。

  • 局部内部类:定义在实例方法中的局部类可以访问外部类的所有变量和方法,定义在静态方法中的局部类只能访问外部类的静态变量和方法。

  • 匿名内部类

    匿名内部类必须继承一个抽象类或者实现一个接口。

    匿名内部类不能定义任何静态成员和静态方法。

    当所在的方法的局部变量需要被匿名内部类使用时,必须声明为 final。

    匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。

  • **静态内部类 **:静态内部类可以访问外部类所有的静态变量,而不可访问外部类的非静态变量

内部类的优点:

  • 一个内部类对象可以访问创建它的外部类对象的内容,包括私有数据!
  • 内部类不为同一包的其他类所见,具有很好的封装性;
  • 内部类有效实现了“多重继承”,优化 java 单继承的缺陷。
  • 匿名内部类可以很方便的定义回调。

7.对象反射的三种方式

  • 类名.class
  • Class.forName
  • 对象.getClass()