JAVA 重写&重载/多态/抽象类/封装/接口/包
Posted 田木夕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 重写&重载/多态/抽象类/封装/接口/包相关的知识,希望对你有一定的参考价值。
重写&重载
重写(override)是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
多态
多态就是同一个接口,使用不同的实例而执行不同操作
现实中,比如我们按下 F1 键这个动作:
- 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;
- 如果当前在 Word 下弹出的就是 Word 帮助;
- 在 Windows 下弹出的就是 Windows 帮助和支持。
同一个事件发生在不同的对象上会产生不同的结果。
多态的三个必要条件:
- 继承
- 重写
- 父类引用指向子类对象
抽象类
所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
抽象方法
抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。
public abstract class Employee { private String name; private String address; private int number; public abstract double computePay(); //其余代码 }
- 如果一个类包含抽象方法,那么该类必须是抽象类。
- 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
- 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
封装
封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。
1. 修改属性的可见性来限制对属性的访问(一般限制为private)
2. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问
接口
是一个抽象类型,是抽象方法的集合
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类
包
-
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
-
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
-
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
以上是关于JAVA 重写&重载/多态/抽象类/封装/接口/包的主要内容,如果未能解决你的问题,请参考以下文章
面向对象的过程继承封装多态;抽象类访问修饰符的使用引用类型强制转换方法重写@override与重载空指针异常super关键字