iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java基础详解之面向对象的那些事儿
  • 958
分享到

Java基础详解之面向对象的那些事儿

2024-04-02 19:04:59 958人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、面向对象的理解二、三大特性2.1 继承(extends):2.2 封装(private):2.3 多态:三、自动装箱与自动拆箱3.1 自动装箱3.2 自动拆箱四、小结一、面向

一、面向对象的理解

首先,要清楚一点,与面向过程不同,面向对象有着自己独特的优势。举个通俗的例子,设想我们要得到一把椅子,面向过程的话我们可能需要通过买木材,设计图纸,最后切割而成。但对于面向对象来说,我们只需找到一个家具店,买一把椅子即可。

 面向对象也是Java语言的特点之一,其实从idea中不难看出,这种面向对象的语言所具有:

1.易维护

2.易复用

3.易扩展

二、三大特性

2.1 继承(extends):

顾名思义,是获取原有的基础,在此基础上进行操作的一个过程。使用已存在的类的定义作为基础,可以增加新的属性的一个过程。(在java中,继承是用于子类与父类之间)

例如:

1.先定义一个父类(动物)

在这里插入图片描述

2.定义一个子类(猫)

在这里插入图片描述

其中,猫作为动物,可以继承动物中的吃食物的特性,此外,猫具有喜欢抓老鼠的特性。

3.进行测试

在这里插入图片描述
在这里插入图片描述

从上述这个简单的例子可以看出,继承是通过extends关键字来实现的,猫的类中没有定义吃食物的属性,但是继承后可以使用吃食物的属性(可以提高代码的复用性)。

关于继承:

1.子类不能选择性的继承父类,只要选择继承,就要继承全部(除了父类中private修饰的属性和方法)
2.子类是对父类的一个扩展,可以有属于自己的属性和方法
3.java是单继承,但可以多重继承(也就是有一个子类只能继承一个父类,但是一个父类可以有多个子类。通俗来说,就是你的爸爸可以有多个孩子,但这些孩子只有一个爸爸。)

2.2 封装(private):

封装的定义:

将一些细节信息私有化,并且提供给外界可以对其访问其属性的方法(如果不提供,那么这个封装没有意义)

特点:

被private修饰的类的权限最低,也最为安全,其安全性与其易维护性显著.

例如:


public class Fengzhuang {
    private int chang;//成员属性
    private int kuan;
    private int di;
    private int gao;

    public Fengzhuang() {//无参构造
    }

    public Fengzhuang(int chang, int kuan, int di, int gao) {//带参构造
        this.chang = chang;
        this.kuan = kuan;
        this.di = di;
        this.gao = gao;
    }

    public int getChang() {
        return chang;
    }

    public void setChang(int chang) {
        this.chang = chang;
    }

    public int getKuan() {
        return kuan;
    }

    public void setKuan(int kuan) {
        this.kuan = kuan;
    }

    public int getDi() {
        return di;
    }

    public void setDi(int di) {
        this.di = di;
    }

    public int getGao() {
        return gao;
    }

    public void setGao(int gao) {
        this.gao = gao;
    }

    public void mj(int chang,int kuan,int di,int gao){
        int sum=chang*kuan;
        int sum2=di*gao/2;
        System.out.println("长方形的面积为"+sum+"三角形的面积为"+sum2);

    }
}

这个例子中,将长方形和三角形的面积封装起来,作为一个方法来使用

进行测试


public class Fengzhuangtest {
    public static void main(String[] args) {
        Fengzhuang FZ = new Fengzhuang();
        FZ.mj(5,4,6,7);
;
    }
}

在这里插入图片描述

关于封装:

方法和private修饰的类都是封装的形式,当大家遇到这种只需变换数字(长和宽,底和高)的情况,可以封装为方法,方便大家使用.

2.3 多态:

多态定义:

允许不同对象对同一消息做出不同的响应,

实现多态的条件:

要想实现多态,必须满足继承,重写,父类引用指向子类对象三大必要条件(又分为向上转型,向下转型)

 向上转型:

父类类型变量名= new 子类类型
这种情况一般适用于父类完全满足需求,我们不需要再去添加新的属性

 向下转型:

子类类型 变量名=子类类型 父类类型的变量
这种情况一般适用于父类满足不了需求,需要用到子类所特有的方法时使用

例如:

1.先定义一个父类(动物都有吃的功能)

在这里插入图片描述

2.定义两个子类(猫,狗)

在这里插入图片描述
在这里插入图片描述

在这个例子中,同样都是吃东西,对猫这个对象来说,是吃鱼,对狗来说,是吃骨头,是多态的体现

3.进行测试

在这里插入图片描述

在这里插入图片描述

三、自动装箱与自动拆箱

3.1 自动装箱

自动将基本数据类型转化为包装类类型

3.2 自动拆箱

自动将包装类类型转化为基本数据类型

四、小结

提到面向对象,大家应该立马想到它的三大特性,了解其基础概念.多敲代码,多做题,在案例中体会三大特性

到此这篇关于Java基础之面向对象的那些事儿的文章就介绍到这了,更多相关java面向对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java基础详解之面向对象的那些事儿

本文链接: https://www.lsjlt.com/news/124122.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java基础详解之面向对象的那些事儿
    目录一、面向对象的理解二、三大特性2.1 继承(extends):2.2 封装(private):2.3 多态:三、自动装箱与自动拆箱3.1 自动装箱3.2 自动拆箱四、小结一、面向...
    99+
    2024-04-02
  • Java面向对象基础详解
    目录一、前言什么是对象?什么是类?类和对象的关系?类的定义 ?怎么创建对象?格式:创建对象的作用?Phone类下: PhoneDemo下:二、封装封装的好处?Student...
    99+
    2024-04-02
  • Java面向对象之抽象类,接口的那些事
    目录一、抽象类1.抽象类概述1.1 为什么要有抽象类?(抽象类的作用)1.2 抽象类的定义2. 抽象类特点3.抽象类成员特点4.抽象类案例二、接口1.接口概述2.接口特点3.接口成员...
    99+
    2024-04-02
  • 〔005〕Java 基础之面向对象
    ✨ 目录 ▷ 面向对象▷ 注意事项▷ this关键字▷ 构造器▷ 重载构造方法▷ 实体类▷ 案例:英雄搜索 ▷ 面向对象 对象: 是一种特殊的数据结构对象: 使用类 new 出来的,有了类就可以创建对象,例...
    99+
    2023-12-22
    java 开发语言 经验分享 极限编程 重载 面向对象
  • Python基础之面向对象进阶详解
    目录面向对象三大特征介绍继承语法格式查看类的继承层次结构object根类dir()查看对象属性str()方法的重写多重继承MRO()super()获得父类定义多态特殊方法和重载运算符...
    99+
    2024-04-02
  • Python基础之面向对象基础
    面向对象编程(Object-Oriented Programming,简称OOP)是一种编程思想,它将程序中的数据和操作封装成对象,...
    99+
    2023-09-23
    Python
  • python基础:面向对象详解
    目录1.私有方法2.私有属性3.类部调用私有属性和私有方法  4.子类不能继承父类私有属性和方法  5.修改私有属性的值  ...
    99+
    2024-04-02
  • python基础之函数和面向对象详解
    目录函数函数参数变量作用域内嵌函数和闭包lambda 表达式面向对象三大特性类、类对象 和 实例对象类属性 和 对象属性私有魔法方法基本的魔法方法算术运算符属性访问 描述符...
    99+
    2024-04-02
  • Java基础之从HelloWorld到面向对象
    目录1、 "Hello World!"2、编译与运行3、变量4、数组5、表达式5.1 数学表达式5.2关系表达式5.3 布林表达式5.4 位运算6、控制结构6.1 选择 (if)6....
    99+
    2024-04-02
  • Java面向对象基础知识之枚举
    目录一、枚举的定义二、枚举的声明三、枚举的转换四、枚举的方法五、标志枚举(二进制枚举)总结一、枚举的定义 枚举是一组命名整型常量。枚举类型是使用enum关键字声明的。 C# 枚举是值...
    99+
    2024-04-02
  • Python基础面向对象之继承与派生详解
    目录一、面向对象三大特征之继承1、继承的概念2、继承的本质3、继承的实操4、继承后名字查找的顺序5、经典类与新式类二、派生1、派生的概念2、派生的方法一、面向对象三大特征之继承 py...
    99+
    2024-04-02
  • Python全栈之面向对象基础
    目录1. 面向对象oop了解2. 对象的相关操作小提示:3. 类的相关操作4. 类对象的删除操作小提示:5. 小练习小提示:答案:总结1. 面向对象oop了解 # ### oop...
    99+
    2024-04-02
  • 【Java基础篇 | 面向对象】—— 继承
    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习Java...
    99+
    2023-10-11
    java 开发语言 面向对象
  • Java面向对象基础教学(三)
    目录1.包是什么:2.Java面向对象程序设计三大重要特征:(1)封装:(2)继承extends:(3)多态3.instanceof 运算符 总结1.包是什么: 包相当于文...
    99+
    2024-04-02
  • Java面向对象基础教学(二)
    目录1.使用访问修饰符: 2.static关键字:3.this关键字 总结1.使用访问修饰符:  ...
    99+
    2024-04-02
  • Java面向对象基础知识之委托和lambda
    委托定义类型,类型指定特定方法签名。可将满足此签名的方法(静态或实例)分配给该类型的变量,然后(使用适当参数)直接调用该方法,或将其作为参数本身传递给另一方法再进行调用。以下示例演示...
    99+
    2024-04-02
  • Java面向对象基础教学(一)
    目录1.如何定义类2.如何定义属性3.如何定义普通方法4.如何创建对象5.如何定义构造方法6.什么是可变参数,怎么用?总结1.如何定义类 语法: 访问修饰符 class 类名...
    99+
    2024-04-02
  • Java面向对象基础知识之抽象类和接口
    抽象类(abstract): 抽象类不能创建实例,它只能作为父类被继承。抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽...
    99+
    2024-04-02
  • C++面向对象之类和对象那些你不知道的细节原理详解
    目录一、类和对象、this指针二、掌握构造函数和析构函数三、掌握对象的深拷贝和浅拷贝四、类和对象应用实践五、掌握构造函数的初始化列表六、掌握类的各种成员方法及其区别总结一、类和对象、...
    99+
    2024-04-02
  • Java面向对象之内部类详解
    目录前言内部类概述内部类的分类成员内部类局部内部类前言 在 Java 中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类。本篇博客将总结内部类的使用。 内部类概述...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作