JavaSE-多态和包装类

访问控制权限

Java中用来控制类及类的方法和变量访问权限(public,private,protected,default)

1. public:(公共的)表示包(package)内及包外的任何类(包括子类和普通类)都可以访问

2. protected:(受保护的)表示包内的任何类及包外继承了该类的子类才能访问,突出继承

3. default:(默认的)表示包内的任何类都可以访问,但是包外的任何类都不能访问

4. private:(私有的)只有本类可以访问,包内外的任何类均不能访问——封装

访问控制修饰符同类同包子类不同的包
public1111
protected1110
default1100
private1000

多态

多态分为编译时的多态运行时多态。其中编译时多态可称为静态多态,运行时多态为动态多态,主要通过动态绑定实现,常规默认的多态

多态为了应对不同的表现形式

静态多态

静态多态就是方法的重载,主要根据参数列表的不同来区分不同的函数

静态多态不需要继承

动态多态

动态多态就是指引用在不同的情况下所表现的实际对象
  1. 继承(实现接口),在多态中必须存在父类与子类的关系
  2. 重写,子类必须面对父类的某些方法进行重新定义,在调用这些方法时,就会调用子类的方法
  3. 向上转型:父类引用指向子类的对象

向上转型

向上转型:子类的对象转换为父类类型

Person person = new Teacher();  //向上转型

子类的单独定义的方法会丢失,能访问子类重写父类的方法

向下转型

向下转型是把父类对象转化为子类对象

向下转型必须得有向上转型作为前提。因为只有子类相对应的才可以转换

Person person = new Teacher();  //向上转型
Teacher teacher = (Teacher) person;  //向下转型

包装类

为了支持Java语言面向对象的特性,基本数据类型中的每一个在java.lang包中都有一个对应的包装类,即将每个基本类型都包装成了一个类

访问控制修饰符同类
bytejava.lang.Byte
shortjava.lang.Short
intjava.lang.Integer
longjava.lang.Long
floatjava.lang.Float
doublejava.lang.Double
charjava.lang.Char
booleanjava.lang.Boolean

包装类和基本类型的转换

(1)基本类型转换成包装类,称为装箱操作

//定义int类型变量
int a = 1;
//手动装箱
Integer b = new Integer(a);
Integer c = Integer.valueof(a);
//自动装箱
Integer c = a;

(2)包装类转换成基本类型,称为拆箱操作

//定义Integer类型的包装类对象
Integer a = new Integer(1);
//手动拆箱
int b = a.inValue();
//自动拆箱
int c = a;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值