​【Java】面向对象程序设计 课程笔记 面向对象基础

news/2024/2/21 2:16:59

🚀Write In Front🚀
📝个人主页:令夏二十三
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:Java
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊

4. 类、包和接口

4.1 类、字段、方法

4.1.1 类

类是组成Java程序的基本要素,作为一类对象的原型,它封装了这类对象的状态和方法,实际上就是把变量和函数封装到一个类里面。

4.1.2 字段和方法

字段(field)是类的属性,其实就是变量,字段又称为域、域变量、属性和成员变量等。

方法(method)是类的功能和操作,是用函数来表示的。

下面就是一个名为Person的类,其中包含了字段和方法:

    class Person {String name;int age;void sayHello () {System.out.println ("Hello! My name is " + name);}}

4.1.3 构造方法

构造方法是用来初始化一个类的新对象的方法,

构造方法与类名同名,而且不写返回数据类型

4.1.4 默认构造方法

一般情况下,类都有一个或多个构造方法,如果没有定义任何构造方法,系统就会自动产生一个构造方法,称为默认构造方法。

默认构造方法不带参数,而且方法体为空。

4.1.5 使用对象

访问对象的字段或方法,需要用算符 “ . ” 

4.1.6 方法重载

多个方法有相同的名字,但是各自参数个数不同,或者参数类型不同,编译器都可以识别出来。

通过方法重载就可以实现多态(polymorphism)。

4.1.7 this的使用

1. 访问自己的字段或方法

下面这个例子中,用name和this.name的含义是相同的。

        void sayHello () {System.out.println ("Hello! My name is " + name);}void SayHello () {System.out.println ("Hello! My name is " + this.name);
2. 解决局部变量与域同名的问题

如果在构造方法中,出现了方法中的变量和参数变量与域变量同名的问题,就可以用this来解决。

下面这个例子中,this.age表示域变量,age表示参数变量:

3. 在构造方法中调用另一种构造方法

需要注意的是,这条调用语句必须放在第一句。

4.2 类的继承


http://www.ppmy.cn/news/1135690.html

相关文章

漫谈:C语言 C++ 数组的迷惑与混乱

C语言设计很失败,起码数组的设计很失败。 看看这是什么: int a[5]; “这是一个int数组,共有5个元素”——回答正确。 int a[5][3]; “这是一个int二维数组,第一维为5,第二维为3,一共有5X315个元素”——不…

剑指offer——JZ25 合并两个排序的链表 解题思路与具体代码【C++】

一、题目描述与要求 合并两个排序的链表_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0≤n≤1000,−1000≤节点值≤1000 …

南大通用数据库-Gbase-8a-学习-41-获取当前日期的季初日期(CUDF、自带函数嵌套等实现)

目录 一、环境信息 二、C-UDF实现 1、C源码 2、编译成动态库 3、拷贝动态库 4、创建函数 5、查看函数 6、测试验证 三、86版本自带函数嵌套实现 四、95版本自带函数实现 五、二三效率比对 1、测试数据条数 2、对比结果 一、环境信息 名称值CPUIntel(R) Core(TM) i…

2023-09-27 Cmake 编译 OpenCV+Contrib 源码通用设置

Cmake 编译 OpenCV 通用设置 特点: 包括 Contrib 模块关闭了 Example、Test、OpenCV_AppLinux、Windows 均只生成 OpenCV_World 需要注意: 每次把 Cmake 缓存清空,否则,Install 路径可能被设置为默认路径Windows 需要注意编译…

多通道反向字典模型

方法 将单词的definition embedding输入Bi-LSTM模型,经过处理得到5个分数并加权求和得到最终的置信分数 最后对分数向量进行降序排序,得到word rank 代码实现: _, indices torch.sort(score, descendingTrue) 辅助信息 这是AAAI 2020的论…

求和中x:y=g(x)的含义

概念解释 p ( y ) ∑ x : y g ( x ) p ( x ) p(y)\sum\limits_{x:yg(x)}p(x) p(y)x:yg(x)∑​p(x) 这个表达式表示随机变量 Y 的概率分布 p(y) 是通过对随机变量 X 进行函数映射 y g ( x ) y g(x) yg(x) 后得到的。让我更详细地解释: Y Y Y 和 X X X 是两个随…

【广州华锐互动】鱼类授精繁殖VR虚拟仿真实训系统

随着科技的不断发展,虚拟现实技术在各个领域的应用越来越广泛。在养殖业中,VR技术可以帮助养殖户进行家鱼授精实操演练,提高养殖效率和繁殖成功率。本文将介绍利用VR开展家鱼授精实操演练的方法和应用。 首先,我们需要了解家鱼授精…

【Unity】两种方式实现弹跳平台/反弹玩家(玩家触发与物体自身触发事件实现蹦床的物理效果)

一、声明 只实现物理反弹的效果,不实现蹦床会有的视觉拉伸效果,请自行找相关代码 二、实现 经过我的实践,我发现要想实现一个平台反弹的效果,要么就选择给player添加一个物理材质(平台加了没用)&#xff0…

C++:stl:stack、queue、priority_queuej介绍及模拟实现和容量适配器deque介绍

本文主要介绍c中stl的栈、队列和优先级队列并对其模拟实现,对deque进行一定介绍并在栈和队列的模拟实现中使用。 目录 一、stack的介绍和使用 1.stack的介绍 2.stack的使用 3.stack的模拟实现 二、queue的介绍和使用 1.queue的介绍 2.queue的使用 3.queue的…

Codeforces Round 665 (Div. 2) (A-F)

A.Problem - A - Codeforces (1)题意 给你个X轴,初始A点在n这个位置,O在源点0,问你要把B放在哪才能让|AB-BO| k,最小化A需要移动多少次。 (2)思路 直接分情况套路即可。 &#xff0…

ROS(5)PX4仿真安装及运行

1、配置,提升下载速度 启动 $ cd clash-for-linux$ sudo bash start.sh$ source /etc/profile.d/clash.sh$ proxy_on 关闭 $ cd clash-for-linux$ sudo bash shutdown.sh$ proxy_off 2、安装PX4开源无人机 git clone https://github.com/PX4/PX4-Autopilot.git…

【匠心打造】从0打造uniapp 可视化拖拽设计 c_o 第十篇

一、click one for uniapp置顶: 全部免费开源 (你商业用途也没关系,不过可以告诉我公司名或者项目名,放在官网上好看点。哈哈-_-) 二、写在之前 距离上一篇更新已经大约4个月了,公司的事情,自己的一些琐事一直没时间…

数仓使用SQL脚本在数据库中添加初始数据示例

文章目录 需要在虚拟机上开启数据库 点击确定后,可以点开这个连接,查看数据库信息 运行 init_mysql.sql 创建mall 数据库 -- 设置sql_mode set sql_mode NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES;-- 创建数据库mall create database mall;-- 切换数…

Java编程技巧:swagger2、knif4j集成SpringBoot或者SpringCloud项目

目录 1、springbootswagger2knif4j2、springbootswagger3knif4j3、springcloudswagger2knif4j 1、springbootswagger2knif4j 2、springbootswagger3knif4j 3、springcloudswagger2knif4j 注意点: Api注解:Controller类上的Api注解需要添加tags属性&a…

188.买卖股票的最佳时机Ⅳ【Java】

188. 买卖股票的最佳时机 IV - 力扣(LeetCode) 给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多…

【kubernetes】使用kubeadm部署kubernetes集群

1 操作系统环境准备 调整内核参数: modprobe br_netfiltersysctl -w net.ipv4.ip_forward1 sysctl -w net.bridge.bridge-nf-call-ip6tables1 sysctl -w net.bridge.bridge-nf-call-iptables1禁用SELINUX setenforce 0 sed -i s/^SELINUXenforcing$/SELINUXpermi…

【C++模拟实现】哈希与unorder_set和unorder_map关联式的模拟实现

【C模拟实现】哈希与unorder_set和unorder_map关联式的模拟实现 目录 【C模拟实现】哈希与unorder_set和unorder_map关联式的模拟实现哈希概念哈希的闭散列法(开放定址法)哈希的开散列法(哈希桶)对哈希的开散列式封装unordered系列…

SQL调优

# 插入数据 页合并 # order by优化 视频教程:34. 进阶-SQL优化-order by优化_哔哩哔哩_bilibili 在创建索引的时候,如果没有设置顺序,是会默认升序的;但phone想要倒序,则需要额外的排序 根据需要,创建联合…

Android---GC回收机制与分代回收策略

目录 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾回收算法 JVM 分代回收策略 1. 新生代 2. 老年代 GC Log 分析 引用 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾就是内存中已经没有用的对象,JVM 中的垃圾回收器(Garbage Collector)会自…

EdgeView 4 for Mac:重新定义您的图像查看体验

您是否厌倦了那些功能繁杂、操作复杂的图像查看器?您是否渴望一款简单、快速且高效的工具,以便更轻松地浏览和管理您的图像库?如果答案是肯定的,那么EdgeView 4 for Mac将是您的理想之选! EdgeView 4是一款专为Mac用户…
最新文章