【Java 基础】构造方法和 this 关键字详解

这篇具有很好参考价值的文章主要介绍了【Java 基础】构造方法和 this 关键字详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Java 基础】构造方法和 this 关键字详解

Java 零基础入门到精通专栏持续更新中。通过本专栏你将学习到 Java 从入门进阶再到实战的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。


订阅专栏后添加我微信或者进交流群,进群可找我领取 前端/Java/大数据/Python/低代码/云原生 等全套视频课程,同时共同探讨问题、携手共进~


构造方法

构造方法也叫构造函数、构造器、构建器等。构造方法的作用是为类中的成员变量赋初始值并实现复用。要注意构造函数必须 与类同名,且 无返回值类型(不需要 void 关键字)。以下是一个构造方法示例,该方法写于类中与成员变量并列:

//类student
class student{
    String name;
    int age;
    String address;
    //构造方法
    student(){
        ...
    }
}

然后在构造方法的函数体中为成员变量赋初始值;

//类Student
class Student{
    String name;
    int age;
    String address;
    //构造方法
    Student(String name1,int age1,String address1){
        name = name1;
        age = age1;
        adress = address1;
    }
}

接下来创建对象并调用该构造方法,new 关键字后面的 Student(); 就是在调用构造方法。在创建对象的同时传入对应的参数值,无论有多少个对象都是同样的语法;

//类Student
class Student{
    String name;
    int age;
    String address;
    //构造方法
    Student(String name1,int age1,String address1){
        name = name1;
        age = age1;
        address = address1;
    }
}

//创建对象调用构造方法
Student zhangsan = new Studen("张三",23,"山西太原");
Student lisi = new Studen("李四",23,"山西运城");
...

如下实操案例,我们先创建一个类 Student,包含成员变量、方法以及构造方法;

【Java 基础】构造方法和 this 关键字详解
然后创建类 ConsDemo,创建对象并调用 Student 中的构造方法。

【Java 基础】构造方法和 this 关键字详解

this 关键字

this 用于 指代当前对象,也就是说哪个对象调用方法 this 就指代哪个对象。在《Java 编程思想》第四版第五章对 this 关键字是这样介绍的:this 关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。

在这里我们需要知道,类中的变量为成员变量,类中的方法中的变量为局部变量。局部变量只在该方法中适用,而成员变量可以在该类中的任何一个方法中使用,前提就是加 this. 关键字。

【Java 基础】构造方法和 this 关键字详解
当使用 this 关键字后,类 Student 的新构造方法是这样的;

//类Student
public class Student {
    //成员变量
    String name;
    int age;
    String address;

    //构造方法
    Student(String name,int age,String address){
        //将此处的变量(局部变量)赋值给成员变量,this不可省略
        this.name = name; //此处的this.name就是指成员变量name
        this.age = age;
        this.address = address;
    }

    //方法
    void study(){
        System.out.println(this.name+"在学习!"); //此处的this可省略,因为它默认指的是成员变量
    }
    void myself(){
        System.out.println("大家好,我是"+this.name+",今年"+this.age+"岁了,我在"+this.address);
    }
}

当要在方法中使用成员变量且成员变量与局部变量同名时,this 关键字不可省略,其他情况基本上都可以省略。

本期推荐

  • 本期送书:《PyTorch 教程:21个项目玩转 PyTorch 实战》
  • 赠书活动:活动详情请戳此处

【Java 基础】构造方法和 this 关键字详解文章来源地址https://www.toymoban.com/news/detail-413158.html

到了这里,关于【Java 基础】构造方法和 this 关键字详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java编程练习之this关键字

    当类中的成员变量与成员方法中的参数重名时,会导致方法无法直接使用成员变量。 示例:创建demo类,定义一个成员变量name并赋初值,再定义一个成员方法showName(String name),输出方法中name的值。代码如下: package zhtestdemo; public class demo {  //创建类,类名叫demo /**/     Str

    2024年01月22日
    浏览(57)
  • 【Java 基础】引用型数组、Java 继承、super 关键字详解

    《 Java 零基础入门到精通 》 专栏持续更新中。通过本专栏你将学习到 Java 从 入门 到 进阶 再到 实战 的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。 订阅专栏后添加我微信或者进交流群,进群可找我领取 前端/Java

    2024年02月03日
    浏览(47)
  • Java 面向对象 03 就近原则和this关键字

    对于起名字需要见名知意,所以这个String n 不太合适: 但是如果将n改为name,会与第五行代码的name重复: 运行代码发现,获取后的姓名为默认值,是null 引入就近原则: 此处打印的是age=10,但是如果想使用成员位置的age ,应该使用this 代码: 运行结果: 使用this关键

    2024年01月21日
    浏览(48)
  • 【JavaSE专栏57】深度解析Java中的this和super关键字:用途、差异和实际应用

    博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精通》数据库是开发者必会基础之一~ 🪁 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄

    2024年02月07日
    浏览(44)
  • 【Java基础教程】(十四)面向对象篇 · 第八讲:多态性详解——向上及向下转型、关键字 final与 instanceof的作用~

    掌握final 的主要作用及使用; 掌握对象多态性的概念以及对象转型的操作; 掌握instanceof 的主要作用及使用; 在Java 中 final称为终结器,在Java 里面可以使用 final定义类、方法和属性,用于表示不可变性 。 final 类:当一个类被声明为 final 时,意味着该类不能被

    2024年02月16日
    浏览(47)
  • C++基础之关键字——virtual详解

    修饰父类中的普通函数 被修饰的函数称为虚函数, 是C++中多态的一种实现(多说一句,多态分编译时多态-通过重载实现和运行时多态-通过虚函数实现)。 也就是说用父类的指针或者引用指向其派生类的对象,当使用指针或引用调用函数的时候会根据具体的对象类型调用对应对

    2024年02月08日
    浏览(42)
  • Java 关键字:synchronized详解

    Java中的synchronized用于在多线程环境下确保数据同步。它可以用来修饰方法和代码块 当一个线程访问一个对象的synchronized方法或代码块时,其他线程将无法访问该对象的其他synchronized方法或代码块。这样可以确保在同一时间只有一个线程能够执行该代码块或方法,避免

    2024年02月08日
    浏览(49)
  • 【Java基础】volatile关键字

    关于作者:CSDN内容合伙人、技术专家, 从零开始做过日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 我们继续总结学习Java基础知识,温故知新。 volatile 是一个Java,可以用来修饰变量,volatile也被称为轻

    2024年02月11日
    浏览(45)
  • 详解Java的static关键字

    不依赖于对象实例:静态方法不需要依赖于任何对象实例,因为它们与具体的对象实例无关联。这意味着在没有创建对象实例的情况下,就可以直接通过类名访问或调用静态方法。 可以访问静态成员:静态方法可以访问类的静态成员(静态字段和静态方法),但不能访问非静

    2024年02月05日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包