构造器
构造器就是类创建对象的初始化方法,它的名字与类名相同。
假设没有写有构造器的情况下,虚拟机会自动加上一个没有参数的构造器,如果写有构造器,那么虚拟机就不会在加上构造器了。
构造器写法:
public class Test1 { public Test1() { System.out.println("我是构造器!"); } }
构造器重载
构造器说白了就是一个方法,所以它和普通的方法一样也可以做方法重载,换句话说就是构造器的重载。
和方法重载一样构造器重载就是多个一样名字参数类型和参数的个数不同的多个构造器。
public class Test1 { public Test1() { System.out.println("我是无参数构造器"); } public Test1(String name) { System.out.println("我是String参数构造器"); } public Test1(int age) { System.out.println("我是int参数构造器"); } }
this
this用3种用法:
1.表示当前的对象。
假设在一个方法中传入的参数名为a1,在实例中也有一个变量叫做a1.如果方法中的参数a1想赋值给类中的a1。则就需要到this关键字。因为java如果遇到同名的变量就会默认用和你就近的参数。
public class Test4 { String name; // 重名了 使用的规则是 就近原则 public Test4(String name) { this.name = name; } }
2.当前对象返回
public Test4 getTest4() { return this; }
3.构造器转发
注意:静态属性和静态方法参数重名怎么办?
这时就不能用this,因为this指的是当前对象。
既然是静态成员那就直接类名点属性名就可以了。
static String address; static void method(String address) { Test4.address = address; }