JAVA的构造方法与创建对象间的关系

JAVA的构造方法与创建对象间的关系

  1. 构造方法又被称为构造函数/构造器/constructor

  2. 构造方法语法结构:
    [修饰符列表] 构造方法名 (形式参数列表){
    构造方法体
    }

  3. 回顾普通方法的语法结构:
    [修饰符列表] 返回值类型 方法名 (形式参数列表){
    方法体
    }

  4. 对于构造方法而言,“返回值类型”不需要指定,并且也不能写void,如果写上void就成了普通方法

  5. 构造方法名需和类名保持一致

  6. 构造方法的作用:通过构造方法的调用,可以创建对象

  7. 构造方法的调用:
    ——普通方法是这样调用的:方法修饰符中有static的,类名.方法名(实参列表);方法修饰符中没有static的,引用.方法名(实参列表)
    ——构造方法调用:new 构造方法名(实参列表)

    public static void main(String[] args){
        doSome();        //调用带static的方法

        Constructor c = new Constructor();   //调用没static的方法
        c.doOther();
    }
    public static void doSome(){
        System.out.println("do something");
    }
    public void doOther(){
        System.out.println("do other");
    }
  1. 构造方法调用执行之后有返回值吗:每一个构造方法实际上执行结束之后都有返回值,但是这个“return 值;”的语句不用写,java程序自动返回,并且返回值类型就是构造方法所在类的类型,返回值为对象在堆内存中的内存地址。即下方的Customer为一种引用数据类型,它的表现形式为内存地址。

    创建对象语句:Customer a = new Customer()
    Customer a 为构造Customer类型的形式变量 a
    new Customer()为调用构造方法

    例:int s =sum();
    int s 为创建int型变量s
    sum()为调用sum方法进行求和

  2. 当一个类中没有定义任何构造方法的时候,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造系

public class Constructor {
    public Constructor(){         //创建构造方法
        System.out.println("你确实调用了这个构造方法");
    }
}
public class ConstructorTest {
    public static void main(String[] args){
        new Constructor();    //调用构造方法
    }
}
//运行结果
C:\Users\Lucky777\.jdks\openjdk-14.0.1\bin\java.exe "-javaagent:C:\Software\IntelliJ IDEA Community Edition 2020.1.2\lib\idea_rt.jar=63970:C:\Software\IntelliJ IDEA Community Edition 2020.1.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Lucky777\IdeaProjects\study\out\production\study ConstructorTest
你确实调用了这个构造方法
  1. 构造方法支持方法重载
    public Constructor(int i){
        System.out.println("你确实调用了这个构造方法"+i);
    }
    public Constructor(long i){
        System.out.println("你确实调用了这个构造方法"+i);
    }
    public Constructor(String i){
        System.out.println("你确实调用了这个构造方法"+i);
    }
	Constructor c1 = new Constructor(10);       
	Constructor c2 = new Constructor("zhangsan");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值