码迷,mamicode.com
首页 > 编程语言 > 详细

一 Java基础知识

时间:2019-10-15 12:50:18      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:数列   java   def   继承   java8   对象   初始   ide   封装   

1)面向对象的特性有哪些?

答:封装、继承和多态。

2)Java 中覆盖(Override)和重载(Overload)是什么意思?

答:覆盖是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小;被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法。

  重载表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。

问: 那么构成重载的条件有哪些?

答:参数类型不同、参数个数不同、参数顺序不同。

问: 函数的返回值不同可以构成重载吗?为什么?

答:不可以,因为 Java 中调用函数并不需要强制赋值。

3)抽象类和接口的区别有哪些?

  1. 抽象类中可以没有抽象方法;接口中的方法必须是抽象方法;

  2. 抽象类中可以有普通的成员变量;接口中的变量必须是 static final 类型的且必须被初始化 , 接口中只有常量没有变量。

  3. 抽象类只能单继承,接口可以继承多个父接口;

  4. Java8 中接口中会有 default 方法,即方法可以被实现。

问:抽象类和接口如何选择?

  1. 如果要创建不带任何方法定义和成员变量的基类,那么就应该选择接口而不是抽象类。

  2. 如果知道某个类应该是基类,那么第一个选择的应该是让它成为一个接口,只有在必须要有方法定义和成员变量的时候,才应该选择抽象类。因为抽象类中允许存在一个或多个被具体实现的方法,只要方法没有被全部实现该类就仍是抽象类。

一 Java基础知识

标签:数列   java   def   继承   java8   对象   初始   ide   封装   

原文地址:https://www.cnblogs.com/sketeton/p/11676951.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!