this关键字,构造函数(构造器)

文章目录

  • this
    • this是什么
    • 应用场景
  • 构造器
    • 注意事项
    • 代码演示

this

this是什么

  • this就是一个变量,可以在方法中,拿到当前对象

应用场景

  • 解决变量名称 冲突问题

构造器

注意事项

  • 必须和类名相同
  • 没有返回值
  • 只要参数不同(个数不同,或者类型不同)
  • 比如有参构造函数和无参构造函数
  • 这两个的关系是重载(在一个类中)
  • 有参构造函数相当于是创建了成员变量。即 创建对象时对 对象成员变量(属性)进行初始化赋值。
  • 类在设计时,如果不写构造函数,Java是会自动生成一个无参构造函数的。
  • 但是当类有了有参构造函数,Java就不会帮我们自动生成无参构造函数了,此时建议我们自己手写一个无参构造函数。

代码演示

package com.zhang.opp;

public class Test {
    public static void main(String[] args) {
        Student s1 = new Student();

        s1.name = "张三";
        s1.chinese = 100.0;
        s1.math = 52.0;

        s1.printAvarage();
        s1.printGrades();

        Student s2 = new Student("李四",12);
        s2.printGrades();
    }
}
package com.zhang.opp;

import java.sql.SQLOutput;

public class Student {
    public String name;
    public int age;
    public double chinese;
    public double math;

    public void printAvarage(){
        System.out.println(name+"的平均成绩是"+(chinese+math)/2);
    }
    public void printGrades(){
        System.out.println(name+"的总成绩是:"+(chinese+math));
    }

    public Student(){
        System.out.println("这个是无参构造函数");
    }
    public Student(String name,int age ){
        this.name=name;
        this.age=age;
        System.out.println("这是有参构造方法");
        System.out.println("name:"+name+"age:"+age);
    }

}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用

三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用 一:HelloWorld [我们创建的是maven项目或者直接创建一个Spring] 1.1:创建一个maven 项目(1】:需要自己手动写一个SpringBoot 的启动类同…

EVA-CLIP实战

摘要 EVA-CLIP,这是一种基于对比语言图像预训练(CLIP)技术改进的模型,通过引入新的表示学习、优化和增强技术,显著提高了CLIP的训练效率和效果。EVA-CLIP系列模型在保持较低训练成本的同时,实现了与先前具有相似参数数量的CLIP模型相比更高的性能。特别地,文中提到的EV…

Flink的简单学习五

一 动态表与连续查询 1.1 动态表 1.是flink的支持流数据Table API 和SQL的核心概念。动态表随时间的变化而变化 2.在流上面定义的表在内部是没有数据的 1.2 连续查询 1.永远不会停止,结果是一张动态表 二 Flink SQL 2.1 sql行 1.先启动启动flink集群 yarn-see…

TOGAF架构介绍

框架组件 软件开发过程中通用能力的集合。 一个完整的框架包括:异常处理组件,数据访问组件,日志组件,错误码组件。

面向对象三大特征之:封装

文章目录 什么是封装?封装的设计规范 什么是封装? 就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些书记的方法设计到一个对象中去。 封装的设计规范 合理隐藏,合理暴露 public就是都能访问…

搭建自己的多平台镜像站

# 1. 拉取代码 $ git clone https://github.com/wzshiming/crproxy.git $ cd crproxy/examples/default# 2. 修改网关域名 使用vim编辑start.sh文件,将第五行的gateway变量值修改为你自己设定的域名。 原:gatewaycr.zsm.io 修改为:gatewayXS…

LeetCode | 66.加一

这道题有多个思路,可以依次取数组的每一位,乘10后加下一位,直到最后一位,就得到我们数组所表示的数字,然后加一,然后把新得到的数字再转化为对应的数组,我的做法是直接取数组的最后一位&#xf…

快速上手 GreatSQL 8.0.32-25 with openEuler 24.03 LTS

5 月底,openEuler 24.03 LTS 发布,详情戳: 恭喜!openEuler 24.03 LTS 版本发布:首个AI原生开源操作系统 在诸多亮点特性中,有一条值得注意: 集成 GreatSQL 数据库,适用于金融级应用场…

小程序 js+Canvas 绘制半圆环虚线进度条

效果图: 思路:过程分为三步,第1步,先画虚线底部背景,第2步,画动态的虚线(已选虚线蓝颜色),第3步,画动态的外标(已选虚线外位置的标)&a…

面向对象编程

文章目录 面向对象编程是怎么回事:面向对象编程的好处是:对象是啥,如何得到?运行原理代码举例注意事项:空指针异常 黑马学习笔记 面向对象编程是怎么回事: 祖师爷 詹姆斯高斯林 认为万物皆对象&#xff0c…

[next.js] svgr/webpack

nextjs如何配置svg文件,使其像react组件一样导入? 当前next.js 开发环境我使用了--turbo 来开启turbopack加速文件构建,所以之前的一些webpack loader之类的无法正常工作。通过搜索发现一般都是使用svgr/webpack来处理svg,打开svgr官网发现…

Stable Diffusion: ControlNet 插件安装

前面介绍了一些通过代码实现ControlNet进行控制的案例。现在通过Stable Diffusion体验一下更便捷的操作。 Stable Diffusion插件安装办法大致相同。启动Stable Diffusion后,点击最右边的“扩展”,点击“可下载”,点击“加载扩展列表”。 视网…

Linux服务器安装Jupyter,并设置公网访问详细教程

本章教程,主要介绍如何在Linux服务器上安装jupyter,并可以通过公网地址进行访问。 一、安装jupyter pip install jupyter二、生成jupyter配置文件 jupyter notebook --generate-config三、编辑这个配置文件 找到配置文件并修改以下配置项: # 允许所有 IP 地址访问 c.Noteb…

【Java面试】十九、并发篇(下):线程池

文章目录 1、为什么要使用线程池2、线程池的执行原理2.1 七个核心参数2.2 线程池的执行原理 3、线程池用到的常见的阻塞队列有哪些4、如何确定核心线程数开多少个?5、线程池的种类有哪些?6、为什么不建议用Executors封装好的静态方法创建线程池7、线程池…

【C++ | 左值、右值】一文了解C++的左值、右值、左值引用()、右值引用()

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-12 1…

鸿蒙轻内核A核源码分析系列五 虚实映射(5)虚实映射解除

虚实映射解除函数LOS_ArchMmuUnmap解除进程空间虚拟地址区间与物理地址区间的映射关系,其中参数包含MMU结构体、解除映射的虚拟地址和解除映射的数量count,数量的单位是内存页数。 ⑴处函数OsGetPte1用于获取指定虚拟地址对应的L1页表项数据。⑵处计算需要解除的无效…

python实现高斯(Gauss)迭代自动计算

实现高斯(Gauss)迭代自动计算 输入系数矩阵mx、值矩阵mr、迭代次数n,即可得到答案。本人在原博主的代码基础上优化了数据输出形式,原文链接:python实现高斯(Gauss)迭代法_python中gausspp-CSDN博客 运算结果如下图&am…

家用洗地机怎么选?四大行业精品集合,识别度超高

家用洗地机,作为一种能够高效清洁地面的清洁工具,不仅减轻了人们家务的轻度,也给人们腾出了很多空闲的时间去享受生活。但是洗地机那么多,我们在面对洗地机选购的时候,我们应该要注意哪些呢?下面就为大家详…

游戏研发(策略+sass+回调模式)

前言 由于这边需要对接游戏研发后台,基本就是开服,封禁.角色日志等,但是每个游戏提供的接口都是不一样的,所以为了统一处理提前进行sass封装,以便后续可以更好的兼容 同时还涉及了多数据源的问题,因为有些日志太大不可能直接去http调用,会使用直接查询游戏研发的数据库方式这一…

从零实现KV存储项目实战

本项目是从零实现一个完整的、兼容Redis协议的KV数据库项目。 通过每一行代码的编写。你会对整个系统了如指拿,这样对自己基本功的锻炼、对编程能力的提升都是很大的 项目提供完整的视频教程代码 下面是关于KV存储项目的技术大纲: 如果你在学习的过程…