关闭

理解User test=new User();Java代码中的等式,都是对类的对象的操作,即等式右侧都是对象而不是类

337人阅读 评论(0) 收藏 举报

Java代码中的等式,都是对类的对象的操作,即等式左侧和右侧都是对象而不是类,并且如果左侧和右侧两个对象所属的类不一致,还要进行强制转换,否则会报错(但是接口类除外,不用进行强制转换

例如:

有个User类,表示用户信息表。

有如下等式:

User test=new User();//等式右侧new User();其实就是初始化(或叫生成)一个对象,并命名为test。

User test2=new User(“admin”);//等式右侧new User(“admin”);其实就是根据传入参数“admin”初始化(或叫生成)一个对象,并命名为test2。

另外有一个Organ类,表示机构信息表。


User类和Organ类是两个不相关的,完全不同的类,也没有继承关系。

User test2=new Organ();//这样编译会报错的,因为new Organ()初始化了一个对象,但是这个对象是属于Organ类的。

要编译不报错,就要进行强制转换

User test2=(User)new Organ();//这样编译是不会报错的,虽然这样没有什么意义。

但是接口类除外

Map test=new HashMap();

不需要进行强制转换

=================另一个收获=================

综上所述,还有一个收获,就是接口类的对象初始化,有两种方式:

1)通过new 接口类的实现类,例如:Map test=new HashMap();

2)通过强制转换实现,例如:Map test=(Map)new User();



0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:510760次
    • 积分:12041
    • 等级:
    • 排名:第1211名
    • 原创:734篇
    • 转载:26篇
    • 译文:0篇
    • 评论:0条
    博客专栏