Java面向对象2----构造方法和匿名对象

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象2----构造方法和匿名对象相关的知识,希望对你有一定的参考价值。

文章目录

构造方法的定义:

  • 类中必须至少有一个构造方法,默认无参构造
  • 名称与类名称保持一致
  • 不设置任何的返回值类型
  • 构造方法是是实例化new一个对象的时候自动调用的
    如果自己定义了构造方法,则不会自动生成无参构造方法,构造方法的定义可以根据自己的需求定义多个,类似于方法的重载。

构造方法的使用示例

class Person 
    private String name; // 人的属性名字
    private int age; // 人的属性年龄

    // 定义构造方法,方法名与类名一致,且无返回值
    public Person(String n, int a) 
        name = n;
        age = a;
    

    // 定义一个参数的构造方法
    public Person(String n ) 
        name = n;
    

    public void showInfo() 
        System.out.println("name: " + name + "\\nage: " + age);
    


public class Demo 
    public static void main(String[] args) 
        Person person1 = new Person("demo", 12); // 实例化对象
        person1.showInfo();

        Person person2 = new Person("demo2");
        person2.showInfo();
    


此时我们自己定义了构造方法,则不会自动生成无参构造,如果实例化使用无参构造,就会报错。如果想要我们的类拥有无参构造,就需要自己再次定义。

public class Demo 
    public static void main(String[] args) 
        Person per = new Person();
        per.showInfo();
    

匿名对象的使用

来观察我们的对象定义过程
类名 对象名 = new 类名();
前面部分告诉我们声明的对象是哪个类的实例化,以及对象的名称,方便后续的使用。
等号后面的部分用于对象的实例化,这部分包含对象的所有数据,实例化后会将该部分内容的地址给对象名,然后通过对象名来v操作该部分数据。
而匿名对象只有等号的后半部分。匿名对象只能使用一次,因为没有指向该地址的变量名,使用后该匿名对象会被Java回收机制GC回收。
示例:匿名对象的使用

public class Demo 
    public static void main(String[] args) 
        new Person("匿名对象", 66).showInfo();
    


匿名对象只会简化部分的代码,具体使用与否看个人习惯。

以上是关于Java面向对象2----构造方法和匿名对象的主要内容,如果未能解决你的问题,请参考以下文章

面向对象匿名对象构造方法

面向对象基础——构造方法与匿名对象

Java-类和对象

Golang 面向对象编程

JAVA中对类和对象的认识

java学习中,匿名函数构造方法构造代码块构造方法中调用构造方法(java 学习中的小记录)