Java面向对象(三)——构造器及This关键字的使用

1.构造器
  • 构造器也可以称为构造方法(constructor),但不完全等同于方法,其作用为创建对象和初始化对象的属性。
  • 如果在类中没有显式的定义一个构造器,则系统会默认的提供一个空参构造器;一旦定义了,系统则不会提供默认构造器
  • 一个类中至少会有一个构造器,当定义多个时,则构成重载
  • 构造器的格式为:权限修饰符 类名(形参列表){ }
  • 在类中通常将构造器定义在属性和方法之间
public class StudentTest {
    public static void main(String[] args) {
        //创建类的对象
        Student s = new Student();// 类名 对象名 = new 构造器
        s.study();
        //初始化对象属性
        Student s1 = new Student(20190112,"Tom");
        System.out.println("学号为:"+ s1.number + "\t姓名为:" + s1.name);
    }
}
class Student{
    //类的属性
    int number;
    String name;
    boolean isMale;

    //类的构造器
   public Student(){

       System.out.println("this is a constructor test");
   }
   public Student(int m,String n){
       number = m;
       name = n;
   }
   //类的方法
   public void study(){

       System.out.println("学习使我快乐~~");
   }
}

运行结果:
在这里插入图片描述

拓展:

1.变量赋值的先后顺序:

默认初始化值——>显式初始化——>构造器中赋值——>通过“对象.方法”或“对象.属性”的方式进行赋值

2.JavaBean 
JavaBean,是一种Java语言写成的课重用组件

判断标准:
(1)类是公共的;
(2)有一个无参的公共的构造器;
(3)有属性,且有对应的get、set方法

2.This关键字
  • this关键字可以可以理解为当前对象或当前正在创建的对象,用来修饰:属性,方法和构造器
  • 在类的方法和构造器中都可以使用“this.属性”或者“this.方法”的调用当前对象的属性或方法,但
    通常情况下,都省略不写。但是,当方法或构造器的形参名和属性名相同时,使用“this. 变量”表示此变量是属性而非形参。
public Boy(String name, int age) {
	this.name = name;//使用在构造器中
	this.age = age;
}

public void setAge(int age) {
    this.age = age;//使用在方法中
}
  • 使用This关键字调用构造器:

在类的构造器中可以使用“this(形参列表)”的方式调用本类中指定的其他构造器,但不可调用当前构造器。

调用其他构造器时,必须声明在当前构造器的首行。

构造器内部最多只能声明一个“this(形参列表)”用来调用其他的构造器。

public Person1(){//空参构造器
}
public Person1(String name){
this();//调用构造器
this.name = name;
}
public Person1(int age){
this();//调用构造器
this.age = age ;
}
public Person1(String name,int age){
this(age);//调用构造器
this.name = name;
}
发布了49 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ashleyjun/article/details/98878862
今日推荐