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

原创 2016年08月29日 15:53:42

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();



版权声明:本文为博主原创文章,未经博主允许不得转载。

【Java】《Java编程思想》笔记(含练习题答案代码)-第二章 一切都是对象

2.1 用引用操纵对象【String】 遥控器(引用)- 电视机(数据)创建String引用,如果向无对象的引用发送信息会返回一个运行时错误,所以安全的做法是:创建一个引用的同时便进行初始化...

JAVA 8函数式编程(二):每个函数都是可以传递的对象

在Java 8中,每个函数都是可以传递的对象,包括静态函数、实例函数与构造函数,唯一需要确认的就是,要传递的函数必须与需要的函数签名一致。首先定义函数接口如下:@FunctionalInterface...
  • yiifaa
  • yiifaa
  • 2017年06月23日 23:19
  • 117

用Java代码实现类似Excel单变量求解的功能(Case study-Facebook User Base Growth )

如题,运算结果和Excel中模拟计算-单变量求解功能的计算结果基本一致。 问题是,计算精度和Excel的结果在百分位不一致(应该属于计算精度的问题,因为不知道Excel的实现方法,不清楚具体原因) ...

为什么很多公司都开始去oracle而使用mysql?(整理)Oracle和MySQL的主要区别 Oracle:客户端和命令窗口,都是由用户决定内容-> conn user_name/password;

原文地址:https://www.zhihu.com/question/29088685 最近听了阿里的一个分享会,发现他们完成了整体从oralce转换为mysql的过程。为什么很多公司都开始去ora...

User Story 无法在规定的时间内完成, 都是估算人天的方法不对惹的祸?

当User Story 无法在规定时间内完成时, 许多人的第一反应便是: User Story 估算的方法不对, 所以, 需找一个可 “准确” 估算人天的方法◦ 1) 首先,我想任何解决...

有对象的程序猿都是怎么写代码的

哈哈,看到这个标题点进来的你是不是跟我想法一样,程序猿怎么可能有女朋友!!!(抱头痛哭)当然了,有女朋友的你很棒棒哦,可以尽情对我们开嘲讽,但是!单身猿们也不要焦虑,接下来小编将会从女朋友视角粗发,给...
  • luyaran
  • luyaran
  • 2017年06月28日 17:40
  • 785

Java编程思想——一切都是对象

2一切都是对象具体了解java之前了解一些基本知识: 常用的DOS命令 dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : ...

[学习笔记][Java编程思想]第2章:一切都是对象

Java是基于C++的。 Java是混合型语言。Java程序先编译成字节码,然后再通过JVM解释执行。 Java只能进行面向对象的程序设计(OOP)。 1 用引用操作对象 Java中一切被视为对象,操...

读thinking in java笔记(一):一切都是对象

thinging in Java 一切都是对象
  • ZJDWHD
  • ZJDWHD
  • 2016年08月29日 22:12
  • 727

Java编程思想-02一切都是对象

一、对象 1、用引用操作对象 2、必须由你创建所有对象 存储位置: 寄存器 栈:RAM区,存储对象的引用、基本类型 堆:RAM区,存储对象 常量存储:常量存放在程序代码内部 非RAM存...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:理解User test=new User();Java代码中的等式,都是对类的对象的操作,即等式右侧都是对象而不是类
举报原因:
原因补充:

(最多只允许输入30个字)