对象三大特性:封装、继承、多态。通俗易懂!!看完还不懂来打我!!!超详细!!涉及各种重要基础 您所在的位置:网站首页 什么是ISDN它有哪3个基本特性 对象三大特性:封装、继承、多态。通俗易懂!!看完还不懂来打我!!!超详细!!涉及各种重要基础

对象三大特性:封装、继承、多态。通俗易懂!!看完还不懂来打我!!!超详细!!涉及各种重要基础

2023-12-14 22:09| 来源: 网络整理| 查看: 265

请大家仔细看完,学习要慢慢来,基础要仔细打牢!!  看完这篇面向对象还不懂的,来打我!! 一.面向对象:封装、继承、多态。(原文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 实验室设备网 版权所有