Java面向对象:构造器、this

news2025/1/12 1:05:40

目录

  • 构造器
    • 学构造器的目的
    • 构造器的作用
    • 样例
    • 构造器的注意事项
    • 总结
  • this关键字
    • this关键字是什么
    • 样例
    • this关键字的作用
    • 总结

构造器

学构造器的目的

  • 真正知道对象具体是通过调用什么代码得到的。
  • 能够掌握为对象赋值的其他简便写法。
  • 为以后学习面向对象编程的其他内容做支撑。

构造器的作用

在这里插入图片描述

样例

package com.itheima.constructor;

public class Car {
    String name;
    double price;

    public Car(){
        System.out.println("无参数构造器被调用了");
    }

    public Car(String n,double p){
        System.out.println("有参数构造器被调用了");
        name = n;
        price = p;
    }

}

package com.itheima.constructor;

public class Test {
    public static void main(String[] args) {
        Car c = new Car();
        System.out.println(c.name);
        System.out.println(c.price);

        Car c2 = new Car("奔驰",39);
        System.out.println(c2.name);
        System.out.println(c2.price);
    }
}

在这里插入图片描述

构造器的注意事项

在这里插入图片描述

总结

1.构造器的作用?
初始化类的对象,并返回对象的地址。

2.构造器有几种,各自的作用是什么?

  • 无参数构造器:初始化对象时,成员变量的数据均采用默认值。
  • 有参数构造器:在初始化对象的时候,同时可以接收参数为对象进行赋值。

3.构造器有哪些注意事项?

  • 任何类定义出来,默认就自带了无参数构造器,写不写都有。
  • 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。

this关键字

this关键字是什么

在这里插入图片描述

样例

package com.itheima.thisdemo;

public class Car {
    public Car(){
        System.out.println("无参构造器中的this:"+this);
    }
    public void run(){
        System.out.println("方法中的this:"+this);
    }
}

package com.itheima.thisdemo;

public class Test {
    public static void main(String[] args) {
        Car c =new Car();
        c.run();
        System.out.println(c);
    }
}

在这里插入图片描述

this关键字的作用

在这里插入图片描述

package com.itheima.thisdemo;

public class Car {

    String name;
    double price;
    public Car(){
        System.out.println("无参构造器中的this:"+this);
    }

    public Car(String name , double price){
        this.name= name;
        this.price = price;
    }

    public void goWith(String name){
        System.out.println(this.name +"正在和"+name + "一起比赛");
    }
    public void run(){
        System.out.println("方法中的this:"+this);
    }
}

package com.itheima.thisdemo;

public class Test {
    public static void main(String[] args) {
        Car c =new Car();
        c.run();
        System.out.println(c);

        Car c2 =new Car("奔驰",39.9);
        System.out.println(c2.name);
        System.out.println(c2.price);

        c2.goWith("宝马");
    }
}

总结

  1. this关键字是什么?
    出现在构造器和成员方法中,代表当前对象的地址。
  2. this关键字在构造器中、成员方法中可以做什么?
    可以用于指定访问当前对象的成员。

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

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

相关文章

Python实现可视化案例:采集天气数据并可视化分析

前言 最近长沙的天气,真的就是不能理解,大起大落的,就跟我的心情一样… 有点无聊就来采集一些天气数据,做个可视化的小案例吧(我采集的是以前北上广深的天气数据哈) 实现案例的步骤 一.分析数据来源 从…

狂神说笔记——Linux快速入门27

Linux快速入门 参考于:B站狂神视频! Java开发之路:JavaSE、MySQL、前端(HTML、Css、JS)、JavaWeb、SSM框架、SpringBoot、Vue、SpringCloud、Mybatis-plus、Git、Linux (CentOS 7) 操作系统&…

【Linux】-- 程序地址空间

目录 程序地址空间 进程地址空间 - 虚拟地址空间 概念引入(浅) 初步理解结构 深入理解虚拟地址 为什么要有地址空间? 程序地址空间的角度理解挂起 程序地址空间 C/C在Linux下的程序地址空间分布: 栈向低地址增长&#xff0…

透过现象看本质,我找到了Netty粘包与半包的这几种解决方案

1、粘包与半包 啥也不说了,直接上代码是不是有点不太友好,我所谓了,都快过年了,还要啥自行车 我上来就是一段代码猛如虎 1.1 服务器代码 public class StudyServer {static final Logger log LoggerFactory.getLogger(StudyS…

怎样进行股票量化对冲策略分析?

股票量化对冲策略的分析需要从各方面去深入了解,就比如说明确量化和对冲的概念,可以先下载OA系统中“量化对冲 产品基础知识的学习,也要知道量化对冲产品在构建股票多头的同时,也构建期货空头。在市场不稳定的操作情绪之下&#x…

Git——初识git

1、git概述 1.1 简介 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于…

rtl8188eus Linux驱动移植

rtl8188eus Linux驱动移植 rlt8188eus作为无线USB网卡,可以给我们的Linux设备提供无线上网能力,也能配置为AP,给其它无线设备提供上网能力。在使用较低版本的内核时,内核中不含rtl8188eus驱动,因此尝试自己移植&#…

1、常见的存储设备

文章目录较为常见的存储设备机械硬盘简介固态硬盘简介U盘简介固态U盘MMC卡SD卡简介TF卡NM卡MS卡CF卡CFExpress卡磁带光盘较为常见的存储设备 目前较为常见的存储设备,从电脑用的: 机械硬盘固态硬盘U盘固态U盘 到单反相机、运动相机、手机、行车记录仪…

BigDecimal 基本使用和常用方法

背景 涉及到比较大的数字之间的计算,使用float、double这样的浮点数就不那么准确了。因为不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。所以在商业计算中基本要用java.math.BigDecimal 一、初始化使用…

蹭秦霄贤流量,郭德纲凌晨时分转发老秦动态

都知道德云社董事长王慧很忙,每天除了打理公司业务,还要照顾众多徒弟们的衣食住行。王慧作为德云社董事长,她的忙都在情理之中,而郭德纲作为德云社总班主,他的时间就更加弥足珍贵了。 可是谁能想到,就是这样…

VSCode配置C++开发环境:OpenCV

文章目录Linux编译调试配置OpenCVWin10编译调试配置OpenCV参考最近在做深度学习的C部署相关工作,于是写下这篇文档记录环境配置的过程。环境配置是一项非常繁琐的工作,无论从大学做相关作业还是到工作上。做这项工作需要技术的同时,还需要点运…

从0到1完成一个Vue后台管理项目(一、创建项目)

1.创建文件夹 这很简单,自己选一个盘,然后建一个文件夹即可 我选择的是D盘,最后的目录是vue-admin 注意:最后的目录一定要是英文 2.创建项目 初始化 npm init -y 局部安装vue-cli vue-cli的版本一直在更新,所以不推…

品牌舆情总结及品牌修复,品牌舆情监测监控怎么做?

如今互联网大数据时代,信息流通越来越快,影响覆盖面广。品牌一旦出现舆论,很容易引起大范围的热议,对品牌发展造成不利影响,进而影响品牌声誉。接下来TOOM舆情监测小编带您简单了解品牌舆情总结及品牌修复,…

Linux_Study

文章目录1.操作系统概述1.1 操作系统的作用1.2 常见的操作系统2.Linux介绍2.1 诞生2.2 Linux内核3. Linux基础操作3.1 虚拟机快照3.2 Linux 目录结构3.3 命令、命令行3.4 ls命令(列表命令)3.5 cd/pwd命令(目录命令)3.6 相对路径、…

OPENCPU学习---开发环境搭建

BC260Y-CN模组移远公司提供了QuecOpen的开发方案,可以通过提供的SDK中相应的接口快速进行应用开发。开发环境的搭建,首先要准备好开发板、SDK包以及下载工具,准备好后进行编译配置即可进行开发。目前移远提供的BC260Y开发SDK版本为&#xff1…

Lambda表达式超详细总结(简单易懂)

文章目录1、什么是Lambda表达式2、为什么使用Lambda表达式3、函数式接口(lambda表达式的使用前提)4、推导Lambda表达式5、Lambda表达式语法1、什么是Lambda表达式 Lambda表达式,也可称为闭包。其本质属于函数式编程的概念,是Java…

js判断元素是否在可视区域内

基本概念 首先需要搞清楚 clientHeight、scrollTop 的区别,通俗地说,clientHeight 指的是网页可视区域的高度,scrollTop 指的是网页被卷起来的高度,可以参考这篇文章:彻底搞懂clientHeight、offsetHeight、scrollHeig…

SQL -- MySQL 初识

SQL SQL的概述: SQL全称: Structured Query Language,是结构化查询语言,用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统System上实现美国国家…

入门远程连接技术

目录 1、ssh实验 要求:a.两台机器:第一台机器作为客户端,第二台机器作为服务器,在第一台使用rhce用户免密登录第二台机器。b.禁止root用户远程登录和设置三个用户sshuser1, sshuser2, sshuser3, 只允许sshuser3登录&…

DOM(二):节点操作、事件高级

节点操作节点层级事件高级事件对象节点概述 节点至少拥有nodeType(节点类型)、nodeName(节点名称)、nodeValue(节点值)这三个基本属性。 元素节点 nodeType为1属性节点 nodeType为2文本节点 nodeType为3 &…