继承
继承,它是说明一个类“正好像另一个类,只不过……”的能力。
3.1扩展类
重载和重写之间有着细微的差别。当重载一个方法名称时,Java会依据传递给该方法的参数来决定使用哪个版本。当重写一个方法时,Java会依据在哪个对象上调用该方法来决定使用哪个版本。
3.1.1多态性和继承性
封装性:就是一个盒子,你把某个功能,某个组件,放在里面,从而形成一个整体,隐藏内部的具体实现,给出你要给出的服务。
继承性:就是有共性,能继承,打个比方,类A的功能是a,B的功能是b,C具有功能a,b,C就不用在编写a,b,继承A,B就行了,就像发动机,你要用发动机,又不想再造的话,就得继承。
多态性:就是多种状态,就是同名但有区别,java里面的元素只要有区别就有多态,比如变量,他在同一个函数的不同位置可以同名吧,还有函数名,很显然,这个就是多态了,说的复杂一点,就是你要实现一个相同的功能,但又有不同,比如返回,即结果不同,不如输入不同,但有个相同的名字,这就是多态了。
3.3包和访问级别
一个方法封装一个算法。一个类封装状态(字段)和行为(方法)。包(它包含许多类)甚至提供了更大规模的封装。
访问级别:
每个字段或方法都有一种访问级别(access level),指示哪些类可以访问它。访问级别提供了信息隐藏。
私有(private)字段或方法只在声明它的类中是可见的。
公共(public)字段或方法在任何地方都可见。
受保护的(protected),对于同一个包中或者是同一个包的后代的任何类都是可见的。
3.5术语
has-a:一个类与其字段之一的类之间的关系。
Is-a:子类与超类之间的关系。
超类(superclass):被另一个类扩展的类。