构造器
构造器是一个特殊的方法:
1: 这个方法没有返回值 也不需要编写返回值类型,更不需要写return语句
2:这个方法的方法名称和当前的类是同名
3:这个方法默认情况下在每个类中都存在默认的空参数的方法。称之为默认构造器
4:每个类中如果存在带参构造器,那么原本的空构造器就不存在了,如果你想让他存在,自己需要手动的显式定义空构造器。构造器是支持重载的
5: 构造器之间要互相调用不能直接通过方法名调用,必须要使用this()进行调用
/* 属性 */ int price; String type; String color; /* 构造器 创建对象 */ public Computer(){ System.out.println("我被调用了"); } /* 功能 */ public void playGame(){ System.out.println("玩游戏"); } public void info(){ System.out.println("price:"+price); }
this关键词
this就两种用法:
-
this. 当前对象的 谁在用我 我是谁
-
可省略
public void cry(){ System.out.println(/*this.*/name+" 小孩哭吧哭吧哭吧 不是罪!!!"); }
-
不可省略 出现同名变量 需要区分的时候
public Children(boolean gender){ this.gender = gender; }
-
-
this() : 专门用来调用构造器的,而且必须要保证在构造器的首行。
public class Children { /* 属性 */ String name; boolean gender; /* 构造器 */ public Children(){ this(UUID.randomUUID().toString()); System.out.println(""); //this.name = UUID.randomUUID().toString(); } public Children(String name){ this.name = name; } public Children(boolean gender){ this.gender = gender; } public void cry(){ System.out.println(this.name+" 小孩哭吧哭吧哭吧 不是罪!!!"); } }