Java回收机制 和 类的修饰符

1.下列选项正确的是()
public class Test1 {

public static void main(String[] args) {
    int i = 5; 
    int j = 10;
    int k = -100;
    System.out.println(~i); //-6
    System.out.println(~j); //-11
    System.out.println(i+~j); //-6*******
    System.out.println(~k);  // 99
}

}
A -5
B -6
C 15
D 14

注解:计算机使用补码来存储数据:补码=反码+1
负数是怎么存2进制的,就是将其正数部分取反后+1。那么,我们逆推回去,由负数(标志位是1,即首位是1)减去1,然后再取反,是不是就得到了负数的正数部分?
5=00000101(B)
对5取 ~5 = 11111010(B)
然后减去1 = 11111001(B)
然后取反 = 00000110(B) = 6(D) 这就是结果的正数部分
你算一下最后的结果11111010(B)的正数部分是不是6呢?所以~5=-6 **(五颗星)
总结: 正数取反规则: 先+1,再取反;
负数取反规则: 先+1 ,再取反;

2 如下的例子,下列正确的()
public class Test2 {
private static int i = 100;

public static void main(String[] args) {
    Test2 test2 = new Test2();
    test2.i++;   //通过对象直接调用私有属性
    Test2 test22 = new Test2();
    Test2.i++;    //通过类直接调用私有属性
    Test2 test23 = new Test2();
    Test2.i--;
    System.out.println("i"+"=" + i);
}

}
A i = 102;
B i = 103;
C test2.i++ 编译不通过;
D Test2.i++ 编译不通过;
* 注解:因为main函数是在自身的类中,其可以看成是自身类的一种方法,故根据类的定义,同一个类的方法可以访问自身的所有属性,其次,只要是静态的方法和属性,都可以通过类名和对象来调用,因为静态方法不依赖对象,当然也可以通过对象来调用。

3 派生类的对象对其基类中的() 可直接访问?
A 公有继承的共有成员
B 公有继承的私有成员
C 公有集成的保护成员
D 私有继承的共有成员

注解: A 公有成员可以被派生类继承,派生类对象可以直接访问共有继承的共有成员;
B 私有成员成员不可以被派生类继承,故没有访问一说;
C 保护成员可以被派生类继承,但不可以直接访问,可以被类的方法访问;即就是可以间接访问
D 私有继承的公有成员可以被派生类继承,但是其会变成派生类的私有成员,也不可以北直接访问

4 关于Java的回收机制,说法正确的是()
* A 程序员可以任意指定回收内存的时间
* B Java 程序不能依赖垃圾回收的时间或者顺序
* C 程序可以明确的标识某个局部变量的额引用不再使用
* D 程序可以显示立即释放对象占有的内存
注解: Java 提供了一个系统级别的线程,即垃圾回收器线程, 用来对每一个分配出去的内存空间进行跟踪, 当JVM 空闲的时候,自动回收每一块可能被回收的内存, gc是完全自动的, 不可以被强制执行, 程序员最多只能用System.gc() 来建议垃圾回收器回收某一块内存,具体的回收时间是不可预知的。

5 在类的设计中,类的成员变量要求仅仅能够被同一类的包裹下的类访问, 应该使用哪个修饰符()
A public
B protected
C default
D private

注解: 作用的范围由大到小:public protected default private
public 修饰的成员变量,可以被同一包裹下不同类使用,可以被不同包裹使用;
protected 修饰的成员变量,只可以被‘继承的子类’使用, 无论是同一包裹还是不同的包裹;
default 修饰的成员变量,只可以被同一包裹的类使用;
private 修饰的成员变量, 只可以在自身的类中使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值