17、Java 类型系统与访问控制深入解析

Java 类型系统与访问控制深入解析

1. 类型兼容性与转换

Java 是强类型语言,在编译时会检查类型兼容性,防止不兼容的赋值。下面详细介绍类型兼容性和转换的相关内容。

1.1 兼容性
  • 赋值规则 :当把表达式的值赋给变量时,表达式的类型必须与变量的类型兼容。对于引用类型,表达式的类型必须与变量声明的类型相同,或是其亚型,或者能转换为该类型。例如:
class Attr {}
class ColorAttr extends Attr {}

public class CompatibilityExample {
    public static void acceptAttr(Attr attr) {
        // 可以接受 ColorAttr 类型的对象
    }

    public static void main(String[] args) {
        ColorAttr colorAttr = new ColorAttr();
        acceptAttr(colorAttr); // 合法,因为 ColorAttr 是 Attr 的子类

        // 下面的赋值不合法
        // Attr attr = new Attr();
        // ColorAttr colorAttr2 = attr; 
    }
}
  • null 的兼容性 :null 对象引用与所有引用类型兼容,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值