java基础题三

1.static关键字5连问

1抽象的(abstract)方法是否可同时是静态的(static)?

抽象方法将来是要被重写的,而静态方法是不能重写的,所以这个是错误的

2.是否可以从一个静态(static)方法内部发出对非静态方法的调用?

不可以,静态方法只能访问静态成员,非静态方法的调用要先创建对象。

3.static可否用来修饰局部变量?

static不允许用来修饰局部变量

4内部类与静态内部类的区别?

静态内部类相对与外部类是独立存在的,在静态内部类中无法访问外部类中变量,方法。如果要访问,必须要new一个外部类的对象,使用new出来的对象来访问。但是可以直接访问静态的变量,调用静态的方法

普通内部类作为外部类一个成员而存在,在普通内部类中可以直接访问外部类属性调用外部类的方法。

外部类要访问内部类的属性或者调用内部类的方法,必须要在外部类中创建一个内部类的对象作为一个属性,可以通过该属性调用普通内部类的方法或者访问普通内部类的属性

5java中是否可以覆盖(override)一个private或者是static的方法?

java中static方法不能被覆盖,因为方法覆盖是基于动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用

2.重载(overload)和重写(override)的区别。重载的方法能否根据返回类型进行区分?

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同,参数个数不同或者二者都不同)则视为重载;重写发生在子父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,

3java的四种引用

1强引用

最普通的一种引用方式,如String s="abc",变量s就是字符串"abc"的强引用,只要强引用存在,则垃圾回收器就不会回收这个对象。

2软引用

用于描述有用但非必要的对象,如果内存足够,不回收,如果内存不足,则回收。

3弱引用

 4虚引用

 4.java序列化,反序列化

Java序列化就是指将对象转换为字节码序列的过程,反序列化是指将字节序列转换成目标对象的过程

5.什么情况需要java序列化?

当java对象需要在网络上传输或者持久化存储到文件中时。

6.序列化的实现?

让类实现Serializable接口,标注该类对象是可被序列。

7.如果某些数据不想序列化,如何处理?

在字段面前加transient关键字,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值