javaQ&A

1.对象相同则hash值一定相同,反之则不可。equals()与hashcode()
2.静态内部类和非静态内部类
    静态内部类不需要指向外部类的引用 ,非静态内部类需要持有对外部类的引用。
    非静态内部类能够访问外部类的静态和非静态成员。静态内部类不能访问外部类的非静态成员,只能访问外部类的静态成员。
        public class Enclosingone {
            //非静态内部类
            //public class Insideone{};
            //静态内部类
            public static class Insideone{};
        }
        //暂时写在一个类中方便查看,实际一个类需要一个java文件
        public class test{
            public static void main(String[] args) {
                //非静态内部类对象需要外部类的引用
                //Enclosingone.Insideone obj1 = new Enclosingone().new Insideone();
                //构造静态内部类对象
                Enclosingone.Insideone obj2 = new Enclosingone.Insideone();
            }
        }
3.java空指针异常
    这里说的"java指针"指的就是java的引用。空指针就是空引用,java空指针异常就是引用本身为空,却调用了方法,这个时候就会出现空指针异常。
    可以理解,成员变量和方法是属于对象的(除去静态),在对象中才存在相对应的成员变量和方法,然后通过对象去调用这些成员变量和方法。
    对于空指针来说,它不指向任何对象,也就没有所谓的成员变量和方法,这个时候用它去调用某些属性和方法,当然会出现空指针异常。
4.java中为什么没有无符号左移
    在java中没有无符号整数
    左移在所有语言中只有一种,右移分为逻辑右移和算数右移。
    因为右移时会在左侧补充,同时符号位也只在左侧。所以逻辑右移高位补0.算数右移高位补符号位,右侧统统丢弃。左移低位补0.
    java中设计移位运算符为<<左移运算,>>算数右移,>>>逻辑右移。没有<<<符号,作用与<<重复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值