重庆教育建设有限公司网站,上网建站,wordpress 整合ucenter,怎么建小说网站【Java】面向对象三大基本特征
1.封装 On Java 8:研发程序员开发一个工具类#xff0c;该工具类仅向应用程序员公开必要的内容#xff0c;并隐藏内部实现的细节。这样可以有效地避免该工具类被错误的使用和更改#xff0c;从而减少程序出错的可能。彼此职责划分清晰#x…【Java】面向对象三大基本特征
1.封装 On Java 8:研发程序员开发一个工具类该工具类仅向应用程序员公开必要的内容并隐藏内部实现的细节。这样可以有效地避免该工具类被错误的使用和更改从而减少程序出错的可能。彼此职责划分清晰相互协作。当应用程序员调用研发程序员开发的工具类时双方建立了关系。应用程序员通过使用现成的工具类组装应用程序或者构建更大的工具库。如果工具类的创建者将类的内部所有信息都公开给调用者那么有些使用规则就不容易被遵守。因为前者无法保证后者是否会按照正确的规则来使用甚至是改变该工具类。只有设定访问控制才能从根本上阻止这种情况的发生。 封装是对象和类概念的主要特性。封装也就是把客观事物封装成抽象的类并且类可以把自己的数据和方法只让可信的类或者对象操作对不可信的进行信息隐藏。
Java访问修饰符
public公开表示任何人都可以访问和使用该元素private私有除了类本身和类内部的方法外界无法直接访问该元素。private 是类和调用者之间的屏障。任何试图访问私有成员的行为都会报编译时错误protected受保护类似于 private区别是子类可以访问 protected 的成员但不能访问 private 成员default默认如果你不使用前面的三者默认就是 default 访问权限。default 被称为包访问因为该权限下的资源可以被同一包库组件中其他类的成员访问。
修饰符当前类同一包内子孙类(同一包)子孙类(不同包)其他包publicYYYYYprotectedYYYY/N说明NdefaultYYYNNprivateYNNNN
protected补充
基类的protected成员是包内可见的并且对子类可见若子类和基类不在同一包内那么在子类中子类实例可以访问其从基类继承而来的protected方法而不能访问基类实例的protected方法。
2.继承
继承是指这样一种能力它可以使用现有类的所有功能并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”被继承的类称为“基类”、“父类”或“超类”。
要实现继承可以通过“继承”Inheritance和“组合”Composition来实现。
3.多态
多态性polymorphisn是允许你将父对象设置成为和一个或更多的他的子对象相等的技术赋值之后父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说就是一句话允许将子类类型的指针赋值给父类类型的指针。
实现多态有两种方式覆盖和重载。覆盖和重载的区别在于覆盖在运行时决定重载是在编译时决定。并且覆盖和重载的机制不同例如在 Java 中重载方法的签名必须不同于原先方法的但对于覆盖签名必须相同。
本质上多态分两种
编译时多态又称静态多态运行时多态又称动态多态
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现重写是父类与子类之间多态性的一种表现重载可以理解成多态的具体表现形式。
重载overload就是编译时多态的一个例子编译时多态在编译时就已经确定运行时运行的时候调用的是确定的方法。
我们通常所说的多态指的都是运行时多态也就是编译时不确定究竟调用哪个具体方法一直延迟到运行时才能确定。这也是为什么有时候多态方法又被称为延迟方法的原因。