java笔试题第二天

  1. Math.random() 返回包括0,不包括1之间的随机浮点数
    返回num1-num2之间的随机整数:
    int num=num1+Math.random()*(num2-num1)

  2. equals与==的区别
    ==比较的是对象的内存地址
    equals比较的是对象的内容

  3. String,StringBuffer,StringBuilder的区别
    String:是不可变的,每次修改都会创建新的对象
    StringBuilder:使用append()追加字符串,线程不安全但效率较高
    StringBuffer:使用append()追加字符串,线程安全但效率较低

  4. 抽象类和接口的区别
    抽象类可以被继承,子类要实现所有抽象方法,否则子类也是抽象类。抽象类中可以有具体方法和抽象方法(用abstract修饰)。
    接口只能被实现,并且要实现所有方法。接口内的所有方法都是抽象方法。成员变量必须用public static final修饰。在jdk1.8之后,用default修饰方法可以在接口内实现具体方法。

  5. 内部类相关
    (1)普通内部类

public class Out{
	//外围类
	class In{
	//内部类
	}
}

外围类和内部类可以互相访问内部类私有变量和私有方法
实例化内部类: 先实例化外围类,再实例化内部类

Out out=new Out();
Out.In in=out.new In();

(2)静态内部类

public class Out{
	static class In{
	}
}

内部类不可以访问外围类

(3)局部内部类

public class Out{
	public void method(){
		class In{
		}
	}
}

局部内部类不能用publicprivate修饰,作用域是当前方法内部,即外围类不能访问局部内部类。局部内部类可以访问外围类的私有变量和当前方法内的用final修饰的变量。

(4)匿名内部类
没有类名,没有构造函数,得实现接口或者继承类,需要的参数从父类构造器中获得

public static void main(String[] args) {
            Thread a = new Thread(){
                @Override
                public void run() {
                    System.out.println(1);
                }
            };
            a.start();
        }
    }
  1. char变量可以存储汉字吗?
    可以。char中存储Unicode编码的字符,其中包含汉字。char变量大小为2字节,Unicode编码也是占用2字节。
  2. 创建对象对象过程
    在堆中开辟空间 > 父类静态代码块 > 子类静态代码块 > 父类构造代码块 > 父类构造方法 > 子类构造代码块 > 子类构造方法
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值