Java基础3.0

15.静态变量和实例变量的区别

静态变量

静态变量由于不属于任何实例对象,属于类的,所以在内存中只会有一份,在类加载过程中,JVM只为静态变量分配一次内存空间。

实例变量

每次创建对象,都会为每个对象分配成员变量内存空间,属于实例对象,在内存中,创建几次对象,就有几份成员变量。

16.什么是内部类?

在Java中,可以把一个类的定义放在另一个类的定义内部,这就是内部类,本身是类的一个属性

  •  非静态内部类:它有访问外部类成员的权限,要访问内部类,需要先实例化外部类,在创建内部类对象来实现。

  • 私有内部类:内部类可以用private或protected修饰,如果不希望内部类被外部类访问,可以使用private修饰。

  • 静态内部类:用static关键字修饰,我们不需要创建外部类来访问,可以直接访问静态内部类,但是无法访问外部类成员

17.在使用HashMap时,用String作为key有什么好处?

HashMap内部实现是通过key的hashCode来确定value的存储位置,因为String的字符序列是不可变的,所以当创建字符串时,它的hashCode就被缓存下来,不需要重新计算,效率更快。

18.Java中的IO流分为几种?

按照流的流向分,分为输入流和输出流,按照操作单元分,分为字节流和字符流,按照流的角色划分,分为节点流和处理流。java io流涉及几十多种类,但都是从下面四个抽象类基类中派生出来的

  • InputStream/Reader:所有的输入流的基类,前者是字节输入流,后者是字符输入流。
  • OutputStream/Writer:所有的输出流基类,前者字节输出流,后者字符输出流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值