Loading

笔记-Java基础(3)-<抽象类/接口><静态变量/实例变量><装箱/拆箱>

1. 抽象类和接口

抽象类和接口的区别

  • 抽象类可以有普通成员变量,接口没有
  • 抽象类可以有构造方法,接口没有
  • 抽象类可以有静态方法,接口没有
  • 一个类可以实现多个接口,但只能继承一个抽象类
  • 接口可以被多重实现,抽象类只能被单一继承

抽象类和接口的共同点

  • 都不能被实例化
  • 都能被继承
  • 都可以包含方法声明
  • 派生类必须实现未实现的方法

2. 静态变量和实例变量的区别

  • 静态变量:也叫类变量,属于类。不管该类有多少个实例对象,静态变量在内存的方法区中只有一份拷贝
    *实例变量:属于某一实例。需要先创建实例对象,再通过对象访问

3. 装箱和拆箱

自动装箱是指:Java编译器将基本数据类型转换为相对应的封装类。拆箱则反之。
基本类型 int long short float double boolean char byte
封装类型 Integer Long Short Float Double Boolean Character Byte
Integer和int的区别
  • Integer是int类型的封装类(所以Integer要实例化之后才能使用),而int是Java的八大基本数据类型之一
  • Integer的默认值为null,int的默认值为0
补充:
  • Integer变量实际上是对一个Integer对象的引用
  • Integer变量和int变量作比较时,只要值相等,返回结果就为true
    (比较的过程中Java会将Integer自动拆包装为int)
  • new Integer()生成的变量和非new Integer()生成的变量相比较时会报false
    (因为new生成的变量指向堆中新建的对象,而非new生成的integer变量指向Java常量池中的对象)
posted @ 2022-03-29 10:34  George-Hu99  阅读(44)  评论(0)    收藏  举报