对象三大特性:封装、继承、多态。通俗易懂!!看完还不懂来打我!!!超详细!!涉及各种重要基础 | 您所在的位置:网站首页 › 什么是ISDN它有哪3个基本特性 › 对象三大特性:封装、继承、多态。通俗易懂!!看完还不懂来打我!!!超详细!!涉及各种重要基础 |
请大家仔细看完,学习要慢慢来,基础要仔细打牢!! 看完这篇面向对象还不懂的,来打我!!
一.面向对象:封装、继承、多态。(原文PDF获取详情见末尾)
1.1、封装:
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。 好处:1.只能通过规定的方法访问数据 2.隐藏该类的实例细节,方便修改和实现。 A.访问修饰符B.Java中的内部类: 内部类就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。 那么问题来了:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊! 内部类的作用: 1.内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。 2.内部类的方法可以直接访问外部类的所有数据,包括私有的数据。 3.内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便。 内部类分类: 成员内部类静态内部类方法内部类匿名内部类1.2、继承: 继承是类与类的一种关系,是一种”is a”的关系。比如“狗”继承“动物”,这里动物类是狗类的父类或者基类,狗类是动物类的子类或者派生类。 好处:子类拥有父类的所有属性和方法(除了Private修饰的属性不能拥有)从而实现了代码的复用; 方法的重写子类如果对继承的父类的方法不满意(不合适),可以自己编写继承的方法,这种方式就成为方法的重写,当调用方法时会优先调用子类的方法。 重写要注意,以下三个条件都是保持一样: 返回值类型方法名参数类型及个数比如动物会叫,那么狗叫,a.都返回叫;b.都是叫的方法;c.都是需要相同类型的发生器官
方法重载:在同一个类中处理不同数据的多个相同方法名的多态手段。 继承的初始化顺序 父类对象属性初始化—》父类对象构造方法—》子类对象属性初始化—》子类对象构造方法 C、Final关键字 使用final关键字做标识有“最终的”含义: final修饰类,该类不许被继承。final修饰方法,该方法不能被重写final修饰属性,只能在初始化赋值或者构造方法赋值(只能选1)final修饰遍历,只能赋值一次,在声明遍历的时候赋值,赋值完就变为了变量1.3、多态: 多态是对象的多种形态。 Java中里的多态主要表现在两个方面: 引用多态:父类的引用指向本类的对象; 父类的引用可以指向子类的对象; 方法多态:当我们父类的引用指向不同的子对象时,他们调用的方法也是多态的。 创建本类对象时,调用的方法为本类方法; 创建子类对象时,调用的方法为子类重写的方法或者继承的方法; 但是多态使用的时候应该注意:如果子类编写了一个父类不存在的方法,那么就不能通过父类的引用来调用这个方法。 注意:继承是多态的基础 A、引用类型转换 1.向上类型转换(隐式/自动类型转换),是小类型转换到大类型。2向下类型转换(强制类型转换),是大类型转换到小类型(有风险,可能出现数据溢出)。
但是,如果父类没有引用该子类,那么是不能向下类型转换,虽然编译器不报错,但是运行会出错:
还有一种情况也无法强制,父类引用是指向一个子类,之后又去强转为其他类中是不行的。
是因为程序animal开辟的是Dog类型的内存空间,这与Cat类型内存空间不匹配,所以无法正常转换。 instanceof运算符instanceof是JAVA的一个二元操作符,和==,>, |
CopyRight 2018-2019 实验室设备网 版权所有 |