Java学习笔记(16)——构造方法、this、方法重载

这里将自己学习java及其应用的一些笔记、积累分享一下,如果涉及到了文章、文字侵权,请联系我删除或调整。


一、构造方法

1.1 概述

  • 构造方法是新建对象时执行的一个特殊方法

new Soldier()

new AK47()

new Score()

  • 构造一个对象之后,立即执行的一个方法
  • 一个类,必须有构造方法
  • 如果自己不定义,编译器会添加默认构造方法

class A {

     public A() {

     }

}

  • 构造方法重载

多个不同参数的构造方法

class A {

    public A() {}

    public A(int a) {}

    public A(int a, double d) {}

    public A(String s, int a) {}

    public A(String s) {}

}

1.2 练习:学生类

项目:学生
类:Test1, Student

package day0702;

public class Student {
	int id;
	String name;
	String gender;
	int age;

    // 注意重载构造函数之间的调用关系
	public Student() {
	}
	public Student(int id,String name) {
		this(id, name, null);
	}
	public Student(int id,String name,String gender) {
		//重载的构造方法之间调用
		this(id,name,gender,0);
	}
	public Student(int id,String name,String gender,int age) {
		this.id = id;
		this.name = name;
		this.gender = gender;
		this.age = age;
	}

	public String toString() {
		return id+", "+name+", "+gender+", "+age;
	} 
}
package day0702;

public class Test1 {
	public static void main(String[] args) {
		Student s1 = new Student();
		Student s2 = new Student(1,"张三");
		Student s3 = new Student(1,"张三","男");
		Student s4 = new Student(1,"张三","男",22); 
		System.out.println(s1.toString());
		System.out.println(s2.toString());
		System.out.println(s3.toString());
		System.out.println(s4.toString());
	} 
}

二、this

2.1 概述

  • 两种用法:

this.xxx

this(...)

2.1 this.xxx用法

  • this 特殊引用,引用当前对象的地址
  • this.xxx 调用成员变量或函数
  • 当有重名局部变量,必须用this.xx调用成员变量

​​​​​​​​​​​​​​2.2 this(…)用法

  • 构造方法之间调用
  • 目的是减少代码重复,方便维护修改
  • 一般从参数少的方法,调用参数多的方法
  • this(...) 必须是首行代码

​​​​​​​​​​​​​​​​​​​​​三、Overload方法重载

3.1 概述

  • 同名不同参的方法

void f() {}

void f(int i) {}

int f(double d) {}

static void f(String s) {}

 

println()

println(int)

println(double)

你可能感兴趣的:(Java,java,类,编程语言)