添砖Java之路(其四)——面向对象的编程,类和对象

目录

前言:

面向对象的编程:

this关键字:

构造方法:


前言:

其实中间我还有很多地方没有去讲,因为我觉得里面的很多东西和c/c++差不太多,就比如逻辑运算,方法重载,以及数组方面都差不了太多,我已我直接写类和对象的笔记了。

面向对象的编程:

官方的解释:面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化

我的理解是就是:比如我们要把大象装进冰箱,大象就是对象,而讲大象装进冰箱就是方法,需要将方法与大象数据独立出来,这是一种编程思想,Java就是用的这种思想。

类与对象:

类与对象:其实就是一种关系,一个类可以创建很多对象,就比如下面一张图片

简单解释一下就是猫是一个类,而其他不同种类的猫就可以叫做这个类的对象,可以说是非常的简单。

所以这时候我们就可以总结一下类的类和对象的关系:
1.一个类可以装创建多个对象。
2.我们是根据类创建的对象。(猫的类只能创建出关于猫的对象)

this关键字:

在c++这一块呢叫做this指针,其实在java里呢,其实也是指针,而这个指针有什么用呢?在这只讲部分,后面还会提到。
1.区分其他变量,这块特别是在构造方法中体现。
这时我们就要引进构造方法了。

构造方法:

这里的构造方法,类似于c++中的构造函数,就是用来初始化我们的对象成员变量。
tip:一般我们都会对一个类搞一个无参构造,和一个带参构造。

比如来看这个:
 

public class Student {String name;int age;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}
}

我们的带参构造中就很好的体现了this指针的作用,可以区分成员变量和方法参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/697669.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决SpringBoot整合MyBatis和MyBatis-Plus,请求后不打印sql日志

问题发现 在整合springBootmyBatis时,发现请求不打印sql日志,示例代码如下: RestController public class MyController {AutowiredProductMapper productMapper;GetMapping("/test")public void test() {System.out.println(&qu…

原有系统是Windows7,想另外安装一个Windows10作为双系统

前言 上次小白分享了Windows10Windows10的双系统方案,在这个安装的过程中也是写得比较明白,如果需要安装双Windows10系统的小伙伴可以点击下方蓝字跳转: 双Windows10系统安装教程(点我跳转) 今天小白来分享一下&…

【Linux】多线程相关第一篇:从进程谈起理解线程概念

文章目录 为什么需要线程初步认识Linux线程Linux操作系统的线程为什么要这么设计进程、线程关系梳理理解线程是CPU调度的基本单位简单认识多执行流如何划分代码 为什么需要线程 线程和进程的关系密不可分。 操作系统教材对于进程、线程的概念是这样描述的: 进程是…

linux不小心将/etc/passwd用户文件清空或删除解决方法

大概思路:进入单用户模式将passwd-引子程序复制为删除的passwd用户文件,关闭selinux 此系统为:centos 7 1.在GRUB引导的时候按e进入编辑模式,linux16那一行的ro 修改为rw rd.break ‘ ’ 2.ctrlx执行 3.进入单用户模式后修改根…

Apache访问控制与虚拟主机

目录 一. Web服务简介 以下是一些 Web 服务的基本概念和特征 以下是一些主流的 Web 服务器 WEB 服务协议 二. Apache 服务的搭建与配置 2.1 Apache 介绍 2.2 Apache安装 2.3 Apache目录介绍 三. 访问控制 四. 修改默认网站发布目录 五. 虚拟主机 5.1 基于域名的虚拟…

必知必会:Java Map接口的灵活应用

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

韵搜坊(全栈开发)-- 项目介绍

文章目录 项目介绍技术栈前端后端 业务流程 后端地址: https://github.com/IMZHEYA/zhesou-backend 前端地址: https://github.com/IMZHEYA/zhesou-frontend 图标设计(AI生成): 项目介绍 一个聚合搜素平台&#xff…

linux性能监控之lsof

lsof:list open files,显示所有打开的文件以及进程信息,我们通常用来检查特定的文件被哪些进程打开 [rootk8s-master ~]# lsof --help lsof: illegal option character: - lsof: -e not followed by a file system path: "lp" lso…

【Python探索之旅】选择结构(条件语句)

文章目录 条件结构: 1.1 if单分支结构 1.2 if-else 多分支结构 1.3 if-elif 多重结构: 完结撒花​ 前言 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 Python提供了顺序、选择、循环三…

OpenSSL自签证书并基于Express搭建Web服务进行SSL/TLS协议分析

OpenSSL自签证书并基于Express搭建Web服务进行SSL/TLS协议分析 起因 最近在学习安全协议,大多数实验都是基于Windows下IIS,或者Linux下nginx搭建的Web服务,搭建环境和编写配置文件比较麻烦。而且我有多个不同环境的设备,折腾起来…

01-02-4

1、中级阶段-day1作业 使用的代码 #include<stdio.h> typedef struct Student {int num;char name[20];char sex; }Stu; int main() {Stu s;scanf("%d%s %c", &s.num, s.name, &s.sex);//读取字符串时&#xff0c;scanf()的占位符用%s即可&#xff0c…

【错误的集合】力扣python

最初想法 def findErrorNums(nums):n len(nums)duplicate -1missing -1for num in nums:if nums[abs(num) - 1] < 0:duplicate abs(num)else:nums[abs(num) - 1] * -1for i in range(n):if nums[i] > 0:missing i 1breakreturn [duplicate, missing] 遇到力扣大佬…