java 02_Java 02

一,Java语言中&&和& 运算符的不同

首先,&&称为短路与,对于&&来讲,若符号左边的表达式错误的话,是不会再进行符号右边的表达式的计算的,且两侧要求必须是布尔表达式。

其次,&两侧既可以是boolean表达式,也可以是整型数值。若传入的是boolean表达式,&在任何情况下都会将两侧表达式计算完成;若&两侧传入的是整型的数值,会把&两侧的数值拆成二进制数,对二进制数进行按位与。比如 2&2 =0000 0010 & 0000 0010 = 0000 0010 = 2。

二,Java中使用String时通过new和不用new的区别

详见:https://www.cnblogs.com/wdfordream/p/9449710.html

三,Java中上溯造型

多态定义:同一个类型的对象,执行同一个行为,在不同的状态下会表现出不同的行为特征。上溯造型算是多态的一种表现形式,具体语法格式如下:

父类类型 对象名称 = new 子类构造器;

就是用父类的引用指向了子类对象,具体的内存图是怎样的目前还没明白,不过其用法还是有几点需要注意,具体看代码:

e8c4099901437c2a4abdfed9148edb6a.png运行结果

此处有三点需要注意,

(1),若子类没有重写父类的方法,父类的引用会直接调用父类自己的方法,假如上述代码中Dog中没有重写父类的run方法,执行taiDi.run()的话输出“动物跑!”。

(2),若子类重写父类的方法,将会执行子类中的方法,如上述代码所示。但是父类引用不能调用子类特有的方法,比如:taiDi.jump()这句代码是错误的。

(3),对于方法而言,调用方法会出现这样的不用结果,但是对于变量来说,只要用父类的引用访问变量,输出的就是父类中变量的值,比如代码中name变量。

四,关于equals()方法

public boolean equals(Object obj)是Object类的方法,所以Java中的所有类都会从Object类那里继承到这个方法,对于没有对equals()方法进行重写的类而言,他比较当前对象的引用是否与参数obj指向同一个对象,效果相当于“==”,但是对于String、Date、File类和所有的包装类(如Integer、Long等)都重写了该方法,改为比较对象中所存储的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值