java之构造方法

  • 构造方法负责对象初始化工作,为对象的属性赋合适的初值
  • 创建对象时,其类的构造方法确保在用户操作对象之前,系统保证初始化的进行,因为实例化对象的本质就是调用构造方法,若构造方法没有对字段和方法初始化,则只对它们分配内存。
  • 构造方法的语法规则:
    1、构造方法名与类名一致
    2、没有返回类型
    3、方式实现主要为字段赋值
  • 在new时调用(实例化对象时,系统自动调用)
  • Java中方法是可以重载的
  • 在类的方法中,使用this关键字指的是调用此方法的对象的引用。
  • this可以看做一个变量,它的值是当前对象的引用
  • 使用this关键字处理方法中成员变量与形参列表同名的问题
  • 在类的构造方法中调用this([参数列表])来调用该类指定的构造方法
//this是自身的一个对象
class Student {
    int age;
    String name;
    double score;
    void This() {
        Student Stu = this;//当前对象的引用
        System.out.println(Stu.age);
        System.out.println(this.name);
    }
    Student(int age, String  name, double score) {
        this.age = age;
        this.name = name;
        this.score = score;
        This();
        System.out.println("this is func there");
    }
    Student() {
    /*
    调用自身构造方法,只能在构造方法体中的第一行,若指定调用的构造方法中
    也用this调用构造方法,则会报错,因为对于后者来说并不满足在构造方法中
    的第一行。
    */
        this(19, "tangxin", 90);
    }
}
public class HelloWorld {
    public static void main(String[] args) {
        Student Stu = new Student(14, "tangxin", 89);
        Stu.This();
    }
}
class Student {
    int data = 10;
    Student(int data, int age) {
    	//只能在构造方法中使用,必须是构造方法的第一条语句
        this();
    }
    Student() {
    	/*如果为this(2, 3)则不行,因为第一个构造方法和第二个构造方法
    	使用this调用了对方,则不满足必须是构造方法中的第一条语句
    	*/
        this(2, 3, 4);
    }
    Student(int data, int age, int score) {
        
    }
}
public class App {
    public static void main(String[] args) {
        Student student = new Student();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值