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    邹奇方
 北京尚学堂
   //北京阿里爷爷
 
 
 
原文地址:https://www.cnblogs.com/zqfdgzrc/p/10297214.html