所谓封装,就是将对象具有的成员变量和成员函数包装和隐藏起来,让外界无法直接使用, 被封装的成员只能通过某些特定的方式才能访问。
实现封装有两个步骤:
1.将不能暴露的成员隐藏起来,我们就不能让其在类的外部被直接访问或赋值,实现方法是将该成员定义为私有的,在成员定义前加上private访问权限修饰符。
2.用公共方法来暴露对该隐藏成员的访问.
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法;使用继承可以提高程序的扩展性,提高代码的重用性。
子类能继承到父类的哪些方法和属性
第一种:所有的属性和方法都被子类继承到了。
第二种:
a、子类和父类在同一个包下:
公有的受保护的属性和方法被子类继承到了。
b、子类和父类不在同一个包下:
公有的方法和属性被子类继承到了。
子类的对象能调用父类的那些方法和属性?
a、子类和父类在同一个包下:
公有的受保护的属性和方法能被子类调用。
b、子类和父类不在同一个包下:
公有的方法和属性能被子类调用。
在类和抽象类中,默认的就是受保护的。
在接口中,默认的就是公有的。
多态
1. Java中除了static和final方法外,其他所有的方法都是运行时绑定的;
2. 构造方法是被隐式声明为static方法 ;
3. 动态绑定
将一个方法调用和一个方法主体连接到一起称为绑定(Binding)。
根据绑定的时机不同,可将绑定分为“早期绑定”和“后期绑定”两种。
如果在程序运行之前进行绑定(由编译器和链接程序完成),称为早期绑定。
如果在程序运行期间进行绑定,称为后期绑定,后期绑定也称为“动态绑定”或“运行时绑定”。
在Java中,多态性是依靠动态绑定实现的,即Java虚拟机在运行时确定要调用哪一个同名方法。
4. 多态总结
一、使用父类类型的引用指向子类的对象
二、该引用只能调用父类中定义的方法和变量
三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候, 将会调用子类中的这个方法;(动态连接、动态调用) ;
四、变量不能被重写(覆盖),”重写“的概念只针对方法, 如果在子类中”重写“了父类中的变量,那么在编译时会报错。
5. 多态详解 多态是通过:
实现接口并覆盖接口中同一方法的几种不同的类体现的
继承父类并覆盖父类中同一方法的几个不同子类实现的.
6. 一个类型引用只能引用引用类型自身含有的方法和变量
|
|