【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

简介: 【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

🍒回顾

之前我们学习了什么是类  什么是对象  什么是面向对象编程

定义类


🍒 构造方法

构造方法:它的方法名和类名相同,且无返回值

package lecture1;
class Person{
  private String name;
  private int age;
  //构造方法 - 总是和类名相同,且无返回值
  //当没有构造方法的时候,编译器会自动提供一个,不带参数的构造方法
  //构造方法作用:实例化一个对象
  public Person() {
    System.out.println("Person<init>");
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  //@Override
  public String toString() {
    return "Person{" +
        "name='" + name + '\'' +
        ",age="  + age +
        "}";
  }
}
public class TestDemo {
  public static void main(String[] args) {
    Person person = new Person();
  }
}
package lecture1;
class Person{
  private String name;
  private int age;
  //构造方法 - 总是和类名相同,且无返回值
  //当没有构造方法的时候,编译器会自动提供一个,不带参数的构造方法
  //构造方法作用:实例化一个对象
  //构造方法1:
  public Person() {
    System.out.println("Person<init>");
  }
  //构造方法2:
  public Person(String name, int age) {
    this.name = name;
    this.age = age;
    System.out.println("Person<String,int>");
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  //@Override
  public String toString() {
    return "Person{" +
        "name='" + name + '\'' +
        ",age="  + age +
        "}";
  }
}
public class TestDemo {
  public static void main(String[] args) {
    Person person1 = new Person();
    System.out.println(person1);
    Person person2= new Person("bit" ,19);
    System.out.println(person2);
  }
}

运行结果:


🍒this关键字

🍎面试题

this关键字代表对象,这句话是否正确?为什么?

不正确,因为this表示的是对象的引用

this:

this() : 调用自己的构造方法 ---> 只能在构造方法里面写

this.data:调用当前对象的属性

this.fun():调用当前对象的方法


🍒构造方法的类型

中间调用构造方法3报错信息告诉我们:在一个构造方法里面只能调用一次其他构造方法,否则会报错.

构造方法1:无参数

构造方法2:两个参数

构造方法3:一个参数


🍋下节预告

🍊代码块

📝总结

本节主要讲Java面向对象编程的构造方法的应用以及this关键字的使用.喜欢的小伙伴多多三连吧,Java学习系列专栏,订阅专栏,可以获得更新提醒❤️这里是Aileen.

目录
相关文章
|
7天前
|
安全 Java 程序员
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
37 13
|
30天前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
107 15
|
30天前
|
Java 数据安全/隐私保护 开发者
【潜意识Java】深入理解 Java 面向对象编程(OOP)
本文介绍了Java中的面向对象编程(OOP)核心概念,包括封装、继承、多态和抽象。封装通过访问控制保护数据,提高安全性;继承支持代码复用,减少冗余;多态实现灵活的行为调用;抽象则隐藏细节,简化接口设计。掌握这些概念有助于编写高效、灵活且易于维护的代码。文章通过实例详细讲解了每个概念在Java中的应用,并总结了它们的优势。
44 3
|
3月前
|
Java 开发者
Java 面向对象编程
总之,Java 的面向对象编程为开发者提供了一种有效的编程范式,帮助他们构建出高质量、可维护的软件系统。理解和掌握面向对象的概念和原则是成为优秀 Java 开发者的重要基础。
214 63
|
3月前
|
Java
在Java中定义一个不做事且没有参数的构造方法的作用
Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。
|
3月前
|
Java 程序员 数据库连接
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
本文详细介绍了Java中的初始化块,包括静态初始化块和非静态初始化块的概念、执行顺序和实际应用场景。通过具体示例,帮助读者理解这两种初始化块的区别和使用场景,让面试官对你刮目相看。
49 0
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
|
4月前
|
设计模式 Java 测试技术
Java零基础-构造方法详解
【10月更文挑战第5天】Java零基础教学篇,手把手实践教学!
57 1
|
4月前
|
Java
java构造方法的两种传值调用对实参的影响
java构造方法的两种传值调用对实参的影响
38 0
|
4月前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
123 1
|
4月前
|
Java 程序员 编译器
【Java】继承、super、final、子类构造方法
【Java】继承、super、final、子类构造方法
65 0

热门文章

最新文章