美文网首页
包装类:Java为8种基本数据类型分别定义了相应的引用类型,并称

包装类:Java为8种基本数据类型分别定义了相应的引用类型,并称

作者: 森金 | 来源:发表于2020-09-14 20:29 被阅读0次

包装类:Java为8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。

自动装箱:把一个基本类型变量直接赋给对应的包装类变量。

自动拆箱:允许直接把包装类对象直接赋给一个对应的基本类型变量。

基本类型变量和字符串之间的转换:

1. 利用包装类提供的parseXXX(String s)静态方法

2. 利用包装类提供的valueOf(String s)静态方法

"hello"和new String("hello")有什么区别:

当Java程序直接使用形如"hello"的字符串直接量,JVM将会使用常量池来管理这些字符串;当使用new String("hello")时,JVM会先使用常量池来管理"hello"直接量,再调用String类的构造器来创建一个新的String对象,新创建的String对象被保存在堆内存中。

当final修饰基本类型变量时,不能对基本类型变量重新赋值。但对于引用类型变量而言,它保存的仅仅是一个引用,final只保证这个引用类型变量所引用的地址不会改变,即一直引用同一个对象,但这个对象本身完全可以发生改变。

接口和抽象类

1. 接口不能包含普通方法,抽象类可以包含。

2. 接口只能定义静态常量,不能定义普通成员变量,抽象类可以定义普通成员变量。

3. 接口不包含构造器,抽象类可以包含。抽象类的构造器不是用于创建对象,而是让其子类调用这些构造器用来完成属于抽象类的初始化操作。

4. 接口里不包含初始化块,抽象类可以包含。

5. 一个类最多只能有一个直接父类,包括抽象类,但一个类可以直接实现多个接口,通过实现多个接口弥补Java单继承的不足。

Lambda:

Lambda表达式的目标类型必须是函数式接口。函数式接口代表只包含一个抽象方法的接口。函数式接口可以包含多个默认方法、类方法,但只能声明一个抽象方法。

方法引用和构造器引用

如果Lambda表达式的代码块只有一条代码,则可以省略代码块的花括号,同时还可以在代码块中使用方法引用和构造器引用。

1. 引用类方法

如:from->Integer.valueOf(from) 等同于 Interger::valueOf

2. 引用特定对象的实例方法

如:from->"xxxx".indexOf(from) 等同于"xxxx"::indexOf

3. 引用某类对象的实例方法

如:(a,b,c)->a.substring(b,c) 等同于String::substring

4. 引用构造器

如:a->new JFrame(a) 等同于JFrame::new

Lambda表达式与匿名内部类的联系和区别

联系:

1. 都可以直接访问effectively final的局部变量,以及外部类的成员变量。

2. 都可以直接调用从接口中继承的默认方法。

区别:

1. 匿名内部类可以为任意接口创建实例——不管接口包含多少个抽象方法,只要匿名内部类实现所有抽象方法即可;但Lambda表达式只能为函数式接口创建实例。

2. 匿名内部类可以为抽象类甚至普通类创建实例;但Lambda表达式只能为函数式接口创建实例。

3. 匿名内部类实现的抽象方法的方法体允许调用接口中定义的默认方法;但Lambda表达式的代码块不允许调用接口中定义的默认方法。

相关文章

  • 包装类:Java为8种基本数据类型分别定义了相应的引用类型,并称

    包装类:Java为8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。 自动装箱:把一个基本类...

  • 封装类--java13(09/12/2015)

    包装类(封装类): 针对八种基本数据类型,定义相应的引用类型。 基本数据类型:boolean byte short...

  • 包装类

    针对八种基本定义相应的引用类型-包装类(封装类) 针对类的特点,就可以调用类中的方法基本数据类型 包装类 ...

  • 包装类、String等常用类

    包装类(包裹类 Wrapper) : 定义Java 针对八种 基本数据类型 提供了相应的包装类 目的使得可以创建对...

  • Java学习20:Integer、日期类、数字类、随机数、枚举

    基本数据类型的8种包装类 java种为8种基本数据类型又对应准备了8种包装类型。8种包装类属于引用数据类型,父类是...

  • Java 常用类 04. Java 包装类

    包装类 Java 数据类型分为:基本数据类型 和 引用数据类型,但基本数据类型怎么成为对象呢? 包装类:基本数据类...

  • JavaSE进阶五 包装类

    java中的包装类 java中对8种基本数据类型提供了8种包装类型;包装类是引用类型,父类是Object。 为什么...

  • 30.包装类

    包装类 包装类即8种基本数据类型对应的引用类型基本数据类型引用数据类型byteByteshortShortintI...

  • JS之基本包装类型

    基本包装类型 简介 基本包装类型是一种特殊的引用类型,他们有着与基本数据类型相应的特殊行为,分别为Boolean、...

  • Java的数据类型

    一、Java数据类型分为基本数据类型与引用数据类型。 二、基本数据类型 三、基本数据和包装类的区别 四、基本数据类...

网友评论

      本文标题:包装类:Java为8种基本数据类型分别定义了相应的引用类型,并称

      本文链接:https://www.haomeiwen.com/subject/giktyktx.html