美文网首页
Java构造方法与匿名对象

Java构造方法与匿名对象

作者: 南在南方i | 来源:发表于2020-02-10 14:11 被阅读0次

构造方法

首先我们看一个格式:实例化对象操作

类名称 对象名称 = new 类名称();

每个组成部分的意义:

  • ①类名称:用于标记对象的类型,因为对象开辟空间后需要开辟堆内存,堆内存保存属性,而属性在类中定义
  • ②对象名称:如果想要操作类中的属性或者方法,那么必须依靠对象名称完成
  • new:开辟新的堆内存空间,一定是使用new完成
  • ④类名称():只要出现"()"的都表示方法,这个实际上就是\color{red}{构造方法}
构造方法的定义要求及作用
  • 要求方法名称与类名称相同,并且没有返回值类型声明

      class Student{//创建一个类
      public Student(){
          //方法名称与类名称相同,无返回值声明
          System.out.println("***********");
      }
    }
    
    public class MyClass {
      public static void main(String[] args){
          Student student = null;//声明对象
          student = new Student();//实例化对象时调用构造方法
      }
    }
    

    输出结果:****************
    通过以上代码可以发现,所有类中的构造方法都在使用关键字new实例化对象的时候才会被使用到(一使用new就需要构造方法)

  • 如果此时类中没有定义构造方法,系统会自动帮助用户提供一个无参的什么都不做的构造方法,类似于
    public Student(){}; \color{red}{这样就保证所有的类中都一定会存在至少一个构造方法}

  • 作用:如果我们希望在对象实例化时就传递一些属性的内容,那么就可以依靠构造方法完成

    public Student(String name,int age){//创建一个有参构造方法
          setName(name);
          setAge(age);
      }
    

    student = new Student("张三",15);
    此时的程序在实例化Student类对象的时候会自动的将nameage属性传递到对应的属性之中,这样操作的好处是相当于省略了一系列的setter调用

  • 说明:因为一个构造方法在实例化对象时只调用一次,因此无需任何返回值。如果将构造方法定义为:
    .public void Student(){};,这个就属于普通方法了

  • 由于构造方法也属于方法,因此可以使用重载,即可创建多个含有不同数量参数的构造方法
    \color{red}{注意:要按照参数的个数顺序升序或者降序排列}

匿名对象

匿名对象指的是没有名字的对象,对象的名字都保存在了栈内存之中

  • 在整个对象操作之中,真正有用的不是栈内存而是堆内存,因为栈内存指向的是堆内存,而堆内存依靠new开辟,因此此时的代码可以直接用new Student("张三",15);来调用类种方法

  • \color{red}{由于此时的对象没有名字,因此使用一次之后会自动成为垃圾 }

总结

1.开辟新的堆内存空间除了使用关键字new之外还要调用构造方法
2.构造方法定义要求:
  • 方法名称与类名称相同,无返回值声明
  • 构造方法允许进行重载,重载构造方法时只需要考虑参数类型及个数即可
  • 如果一个类没有生命构造方法,则在编译时会自动的的创建一个午餐的什么都不做的构造方法
3.只使用一次的对象可以利用匿名对象完成,匿名对象的本质就是只有堆内存空间没有栈引用的对象

相关文章

  • Java 匿名函数、构造方法、构造代码块、方法重载与方法重写

    匿名函数 Java Lambda 表达式(又名闭包(Closure)/匿名函数) 构造方法 构造方法的作用:给对象...

  • Java构造方法与匿名对象

    构造方法 首先我们看一个格式:实例化对象操作 类名称 对象名称 = new 类名称(); 每个组成部分的意义: ①...

  • 构造方法与匿名对象

    前言: 实例化对象的产生格式: 类名称 对象名称 = new 类名称() 对于以上格式的观察组成部分: 类名称 :...

  • 构造方法与匿名对象

    构造方法 对象的产生格式:①类名称 ②对象名称 = ③new ④类名称(); ①类名称: 规定了对象的类型,即:...

  • 构造方法与匿名对象

    实例化对象:类名称 对象名称=new 类名称(); 类名称:任何一个对象都有类,没有类就不知道有什么功能 对象名称...

  • Java匿名对象与构造器

    匿名对象创建一个对象,没有把它赋值给任何一个变量匿名对象只是在堆中开辟一块新的内存空间,但是没有把该空间地址赋值给...

  • java构造方法

    使用new+构造方法,创建一个新对象 构造方法是定义在java类中的用来初始化对象的方法,构造方法与类同名且没有返...

  • 构造方法和匿名对象

    一.构造函数 实例化对象需要如下的语法:(1)数据类型(2)对象名称 =(3)new(4)数据类型()数据类型()...

  • 9-构造方法与匿名对象

        现在的程序在使用类的时候一般都按照了如下的步骤进行: 声明并实例化对象,这个时候实例化对象中的属性并没有任...

  • Java-怎样构造方法和匿名对象

    前言 在编写程序时不安全的初始化会导致程序发生发生重大错误。为了使程序可以被安全地初始化,C++引入了构造器(也可...

网友评论

      本文标题:Java构造方法与匿名对象

      本文链接:https://www.haomeiwen.com/subject/idjaxhtx.html