可变形参与封装

文章详细介绍了Java编程中的可变形参,指出其本质是数组且只能放在方法参数列表的最后。接着讨论了封装的概念,强调它是对象隐藏内部特性的机制,并列举了三种访问修饰符。然后,文章深入讲解了泛型,包括泛型类、方法泛型以及边界(?extendsX,?superX)的使用规则。最后,提到了通配符的应用场景,如?表示任何类型,?extendsT表示上界,?superT表示下界。
摘要由CSDN通过智能技术生成

可变形参

1.可变形参的本质是数组

2.一个方法中只能有一个可变形参

3.可变形参的参数必须放在最末一位

封装的定义

封装给对象提供了隐藏内部特性和行为的能力,对象提供一些能这被其它对象访问的方法来改变它内部的数据。JAVA当中有3种修饰符,public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面赋予了不同的访问权限。

泛型

泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。

将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。

泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。

泛型?的用法,边界(? extends X,? super X ),方法泛型

总结:

1.泛型可以声明在类上面,也可以声明在方法上面

2.一个类可以有多个泛型,一个方法也可以有多个泛型

3.类在实例化之前必须指明泛型的具体类型

4.使用extends表示子类,super表示父类,?表示通配符

5.通配符的用法

5.1 ?表示任何类型,只能接收,禁止修改

    List<?> list = new ArrayList<Integer>();//可以接收,但禁止修改

    因为任意类型都是?类型,此例当中只能放Integer所以,禁止修改

5.2 ? extends T 上界

    List<? extends Number> list = new ArrayList<Integer>();//可以接收,但禁止修改

    因为Integer,Double,Float,Byte...类型都是Number的子类型,此例当中只能放Integer所以,禁止修改

5.3 ? super T 下界 

    List<? super Integer> list = new ArrayList<Number>();//可以接收,可以修改,但只能向里面添加Integer以及Integer的子类型

    意味着上界是无限的,无法保证它一定是Number.但是放入Integer可以保证.

示例:

1.价格,数字类型均可

2.商品分类

3.购买者,人以及人的子类

4.所在货架,单层货架,以及单层货架的父类

5.促销活动

6.根据给入的仓库计算数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

煎饼果子不加盐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值