Java 面试基础知识(一)

1.面向对象与面向过程的区别

面向过程:性能比面向对象高,但是维护性、扩展性和复用性没有面向对象好。

面向对象:维护性、复用性和扩展性比面向过程要好,但是性能相对较低,因为创建对象的时候需要消耗系统资源。

2.Java的四个特性

抽象、封装、继承、多态。

抽象:将类类比于生活中的某样东西,用代码的方式表示出来。抽象包括数据抽象和过程抽象,比如时钟类里面的秒针、分针就是数据抽象,而它会走的过程就是过程抽象。

封装:将数据和方法封装进类里面,类可以提供这些东西给信任的类或者对象操作。封装也分为数据封装和方法封装。

继承:将有诸多共同点的事物抽象成一个类,作为父类,继承于它的类就是它的子类。比如猴子和牛都是动物,动物就是他们的父类。

多态:引用变量所指定的类的对象可以是不确定的,到程序运行时才动态绑定,这样就可以让这个引用变量可以对不同方法做出不同的响应。

3.重载与重写的区别

重载:发生在同一个类里面,重载一个方法必须要与原方法名一样,参数类型不同或者参数数量不同或者顺序不同。和返回类型没有关系,可以与原来的一样也可以不一样。

重写:发生在父类与子类之间,子类通过重写实现父类的方法达到之间的需求。方法名、参数必须与父类的一致,其次修饰符大于等于父类的,返回类型和抛出异常必须小于父类的,因为子类要兼容父类的,它适用范围不能比父类小。如果父类方法的修饰符是private则子类不能继承(private只能自己类使用,子类也不能)。

4.构造方法能否被override

不能,不能使用statice修饰构造方法,只能用public、private、protected这三个修饰符,而且不能有返回语句。

5.public、protected、private以及default的区别

public:在任何地方都能访问。

protected:在同一个包的类以及包外的子类能访问。

private:只能在本类才能访问。

default:在同一个包内能访问。

作用域        当前类     同一package     子孙类     其他package 

public                √                     √                    √                   √ 

protected          √                     √                    √                  × 

default              √                     √                    ×                  × 

private                √                    ×                    ×                  × 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值