java 面向对象基础

来源:互联网 发布:草履虫软件下载 编辑:程序博客网 时间:2024/05/18 01:23

最近的生活被笔试面试充斥着 。。。。。。生无可恋。。。。。。。好多基础知识看了忘,忘了看。。。。。。。 那就写一下。。。。。

1.重写 重载的区别:

  (1)、重写是子类对父类的重写。重写的参数列表,方法名、返回值必须与被重写的方法一致。

 被重写的方法不能是private,否则只是在子类中重新定义一个方法。

  (2)、重载是一个类中多态性的一种体现,多个同名函数同时存在,就是类有一个统一的方法处理不同的数据类型的一种方式。

  重载 函数名相同,参数形式不同(包括参数类型,参数个数,不同的参数顺序)。

不能通过访问权限、返回类型进行重载。


2. 说到了重写和重载那就说一下多态吧

多态是允许不同对象类型对同一消息做出的响应,即对于同一消息不同的对象会有不同的回应。

  多态的必要条件:

(1)、要有继承

(2)、要有重写

(3)、父类应用指向子类对象

父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;

   同时,父类中的一个方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;

   对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。也可以叫做动态绑定。

  可以基于继承实现多态,也可以通过实现接口实现多态。

3.继承与接口的区别

java 只支持单继承,不支持多继承。

为了弥补不支持多继承,有了接口。接口中对所有的函数只是做了申明,没有实现,同时实现该接口的类必须要实现该接口的所有方法,必须要实现该接口的所有方法。java 支持实现多个接口。

区别接口抽象类默认方法实现没有实现的方法可以有默认实现的方法子类的实现需要实现接口中所有的方法如果子类不是抽象的话,必须提供抽象类中的所有方法的实现构造器没有构造器可以有构造器与正常java的区别不同的类型除了不能实例化抽象类之外,没有区别访问修饰符默认public,不可以使用其他的都可以使用多继承可以多继承不可以多继承





原创粉丝点击