zoukankan      html  css  js  c++  java
  • 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    邹奇方
     北京尚学堂
       //北京阿里爷爷
     
     
     
  • 相关阅读:
    SpringCloud笔记(一)服务注册与发现
    个人备忘录
    ActiveMQ 消息持久化到Mysql数据库
    染色 [组合数 容斥]
    各种图床
    NOIP2012 疫情控制
    网格计数
    找钱 [多重背包 计数]
    序列[势能线段树]
    牛客挑战赛33 B-鸽天的放鸽序列
  • 原文地址:https://www.cnblogs.com/zqfdgzrc/p/10297214.html
Copyright © 2011-2022 走看看