The fifth day
构造器方法详解_构造方法重塑:
构造器也叫构造方法(constructor),用于对象的初始化要点:1.通过new关键字调用!!
2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。
3.如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已经定义则编译器不好自动添加!
4.构造器的方法名必须与类名一致!
1 public class User { 2 int id; // id (成员变量) 3 String name;//账号 (成员变量) 4 String pwd;//密码 ( 成员变量) 5 6 public User(){ //构造方法,此为内部自动构造的, 7 } 8 9 public User(int id ,String name){//构造方法,有参 (里面为局部变量) 10 super(); //需要记住,构造方法的第一步总是super()。系统编译器会自动添加 11 this.id=id; //this表示创建好的对象(成员对象),可用来区别成员变量和局部变量 12 this.name=name; 13 this.pwd= pwd; 14 } 15 public User(int id , String name ,String pwd){ 16 } 17 public static void main(String[] args) { 18 User u1 = new User(); //main方法中,用User类创建对象; 19 User u2 = new User(101,"邹小七"); //u1,u2,u3 为对象; 20 User u3 = new User(100,"邹奇方","123456"); 21 } 22 }
垃圾回收机制(Garbage Collection) 仅仅了解即可
发现垃圾
回收垃圾
发现垃圾
回收垃圾
对象创建的过程和this 的本质
创建一个对象分为如下四步:1.分配对象空间,并将对象成员变量初始化为0或空
2.执行属性值的显示初始化
3.执行构造方法
4.返回对象的地址给相关的变量
this的本质就是“创建好的对象的地址”,由于在构造方法调用前,对象已经创建,因此,在构造方法中也可以使用this代表“当前对象”。
this不能在static在用
static关键字 表示静态 在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。
public class User{ int id; String name; String pwd; static String company = "北京尚学堂"; public User(int id,String name){ this.id=id; this.name=name; } public int getId(){ return id ; } public String getName(){ return name; } public void login(){ System.out.println("登录:"+name); } public static void printCompany(){ //login():(调用非静态成员,编译就会报错) System.out.println(company); } public static void main(String[] args){ User u = new User(24,"邹奇方");//创建对象并赋值 System.out.println(u.getId()+" "+u.getName()); User.printCompany();//调用方法 User.company="北京阿里爷爷";// User.printCompany(); } }
F11 24 邹奇方
北京尚学堂
//北京阿里爷爷