基础知识一览

news2024/11/7 20:52:50

这里写目录标题

  • 1.类
    • 1.1 类和对象的关系
    • 1.2 构造函数
      • 1.2.1 概念
        • 1.2.1.1 修饰符
        • 1.2.1.2 返回值类型
        • 1.2.1.3 函数名
        • 1.2.1.4 参数列表
        • 1.2.1.5 return语句
        • 1.2.1.6 扩展
  • 2.继承
    • 2.1 继承的好处和限制
    • 2.2 子父类中定义了一模一样的成员变量

1.类

1.1 类和对象的关系

类是对象的抽象,对象是类的实例化
一个类中书写的成员有以下几种:

  • 成员变量
  • set和get函数
  • 其他一般函数
  • 构造函数

1.2 构造函数

1.2.1 概念

构造函数就是在创建对象时由JVM自动调用的函数,作用是在创建对象时给对象的成员变量赋值的

1.2.1.1 修饰符

构造函数只能使用访问权限修饰符修饰;如public、private等;不允许使用static关键字修饰构造函数

1.2.1.2 返回值类型

构造函数没有返回值类型,连void都没有;这个是区分一个函数是否是构造函数的标准

1.2.1.3 函数名

构造函数的函数名必须和类名一致

1.2.1.4 参数列表

构造函数可以重载,参数列表可以根据需要定义;

1.2.1.5 return语句

所有Java的函数都需要通过return语句出栈,所以构造函数中也有return语句,只是因为不返回数据,所以一般不写;

1.2.1.6 扩展

private构造函数常用于单例模式

public class Demo {

    private static Demo demo;

    private Demo() {
    }

    public static Demo getInstance() {
        if (null == demo) {
            demo = new Demo();
        }
        return demo;
    }
}

静态方法只能调用静态方法。
不能调用非静态成员变量,因为它们还没被创建(没被赋值),也不能调用非静态方法,因为非静态方法往往会调用非静态成员变量。

静态方法间接调用非静态方法
静态方法可以调用非静态方法前提是这个非静态方法已经实体化,也就是通过 对象名.方法名 的形调用。
在这里插入图片描述

静态方法还可以调用类的构造方法。
因为构造函数比较特殊,不用担心构造方法里会调用还未创建的成员变量,因为它的职责就是创建成员变量。

2.继承

2.1 继承的好处和限制

类的继承是指在一个现有类的基础上去构建一个新的类.
构建出来的新类被称作子类,现有类被称作父类.
子类 无条件拥有父类全部可继承的属性和方法.继承通过extends关键字实现.
Java中子类继承父类,可以继承父类中非私有成员;构造函数不参与继承;

2.2 子父类中定义了一模一样的成员变量

1.两个变量都存在于子类中.如果子类调用父类继承过来的方法访问成员变量,那么系统首先会在父类继承的成员中查找.如果找到,则直接使用.如果没有找到,才会在子类中寻找.

2.如果子类直接调用自己类中的方法,那么系统首先在子类自己的属性中查找.如果找到则直接拿来使用,如果没有找到.那么才会在父类中进行寻找.

3.在子类中若要访问父类中的成员变量,可以使用关键字super来完成。super用来表示当前对象中包含的父类对象空间的引用。super今天不做具体讲解.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用宝塔配置jdk环境

首先,下载linux对应版本jdk(注意是Linux版本),然后通过宝塔传到服务器上。选择相应的jdk文件,将其从本机上传到服务器上的对应文件夹。 上传后可以看到对应如下: 然后将其解压到对应的目录下,使用如下命令&#xff1…

使用Jmeter轻松实现AES加密测试

大家在自己公司做接口测试的时候,有没有遇到过接口做加密处理的情况呢?相信我们的读者朋友们都有一定的概率会遇到这种情况,尤其是对接口数据安全有一定要求的公司接口数据一定会做加密处理。那么遇到加密情况,大家使用工具JMeter…

CAD快速看图怎么转换成PDF格式?这一款软件就足够

CAD快速看图怎么转换成PDF格式?CAD文件是一种比较专业的文件,一般用于设计、绘图等,这种文件需要特殊的软件才可以打开,不过对于大多数人来说,都很少会安装这种软件,因为下载和安装软件需要很多时间&#x…

【计算机视觉】OpenCV 4高级编程与项目实战(Python版)【2】:操作像素

像素是构成图像的基本单位。现在看图1所示的花卉图像,这幅图看着很细腻,不过将图像的白框区域放大,会看到如图2所示的效果,细腻的图像不见了,取而代之的是一个一个的小方块,每一个小方块就是一个像素。 图6 花卉 图7 放大的花卉局部

分库分表解决方案

前言 因为每个学校学生用餐人数太多,一天订单20万量增长,而且学校使用也在不停的增多,公司最近在搞分库分表,数据分离到不同的库中或表中, 所以这段时间了解过数据库的分库分表,也读过很多大神写的博文&…

elasticsearch 7.9.3知识归纳整理(五)之es的索引生命周期管理

es的索引生命周期管理 一、常见概念及命令 1.1、概念 ILM定义了四个生命周期阶段: Hot:正在积极地更新和查询索引。 Warm:不再更新索引,但仍在查询。 cold:不再更新索引,很少查询。信息仍然需要可搜索&…

【蓝桥杯基础题】2021年省赛填空题—卡片

👑专栏内容:蓝桥杯刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录一、题目背景二、题目描述三、题目分析1.检查思路2.思路优化四、代码汇总1.C语言代码2. C代码3.运行结果五、总结1.枚举思…

“强鹰”会议纪要发布,不会停止加息?风险资产恐将承压

美联储发布了去年12月的会议纪要,详细揭露了货币政策制定者对经济和加息路径的最新研判,继续展现偏鹰的论调和立场。 纪要显示,美联储官员致力于抗击通货膨胀,并预计在取得更多进展之前利率将继续上升,并维持“一段时间…

82.Zabbix之Linux服务器agent监控(不需要联网)

Zabbix版本:6.2.3 官网上下载对应的agent

C#中的多线程(一)

一、多线程的术语 在学习多线程之前需要先理解有关多线程的术语。 CPU(中央处理器)或内核/核心是实际执行程序的硬件单元。许多现代CPU都支持同时多线程(Intel称之为超线程),即使一个CPU能表现为多个「虚拟」CPU。进…

Linux安装xFormers教程

参考文章:手把手教你在linux中手动编译并安装xformers 作者:青空朝颜モ出处:bilibili 官方安装方法 官方仓库传送门:https://github.com/facebookresearch/xformers.git 官方给了两种方式安装xFormers,这里给出官方仓…

数字化转型之数字化和业务化论证

引言 数据业务化的本质是数据的产品化、商业化与价值化。主要强调产品化、新业务和专业化运作,也就是以数据为主要内容和生产原料,打造数据产品,按照产品定义、研发、定价、包装和推广的套路进行商业化运作,把数据产品打造成能为企业创收的新兴业务。 数字化是信息技术发…

NodeJs中使用Express开发web项目

文章目录1. web开发模式1.1 服务端渲染的Web开发模式1.2 前后端分离的Web开发模式1.3 如何选择web开发模式2. 身份认证2.1 Session认证机制2.1.1 cookie2.1.2 cookie认证2.1.3 在Express中使用Session认证2.1.4 Session认证的局限性2.2 JWT认证机制2.2.1 JWT组成部分2.2.2 在No…

mysql优化实战

空气质量小时索引顺序先站点后时间 索引情况 根据时间范围查询索引失效 EXPLAIN SELECT station_code, station_name, data_time, aqi, pm25, pm10, o3, no2, so2, co, primary_pollutant, create_date FROM wuhaiyizhangtu.t_air_pollution where data_time between 2022-1…

Node.js 中 session验证登录

在前一篇内容中讲到这个cookie实现验证登录,cookie是存储在客户端的,而session是存储在服务器的,相比较session的安全性会更高,session对象存储特定用户会话所需要的属性以及配置信息,服务通过session对象将用户的信息…

【力扣刷题】day3-4. 寻找两个正序数组的中位数

力扣刷题笔记day3 4. 寻找两个正序数组的中位数 题意 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 输入:nums1 [1,3], nums2 …

【通讯录管理系统】C++全栈体系(六)

通讯录管理系统 第一章 系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C来实现一个通讯录管理系统 系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、…

人工智能算法模型--Alpha-Beta剪枝算法学习笔记

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪 (*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &a…

【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】

文章目录前言题目描述输入描述输出描述示例 1示例2题目解析参考代码前言 《华为机试真题详解 Python实现》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可…

逻辑漏洞渗透与攻防(五)之权限类逻辑漏洞

目录 权限类逻辑漏洞 平行权限跨越 基于用户身份ID 基于对象ID 基于文件名 垂直权限跨越 未经授权访问 权限类逻辑漏洞 越权漏洞又分为平行越权,垂直越权和交叉越权。 平行越权:权限类型不变,权限ID改变,垂直越权&#xff1…