详述:Java成员变量

Java成员变量

1.成员变量的定义

  • “直接”在类体中定义的变量;
    特点
  • 成员变量有默认值(整数 0; 浮点型 0.0 ;char " " ; boolean false; 其他类型 null)
  • 成员变量在整个类中都有效,但是一般写在类的头部。
    作用
  • 详细描述对象信息
package userinfor;

public class UserInfo {
    
     int age;
     String name;
     String mobile;
     String address;
     char a;
     boolean b;
     double c;   

public static void main(String[] args) {
          UserInfo user1 = new UserInfo();
          System.out.println(user1.age);
          System.out.println(user1.name);
          System.out.println(user1.a);
          System.out.println(user1.b);
          System.out.println(user1.c);
}

在这里插入图片描述

从上面代码和结果来看可以看出,成员变量是有默认值的,分别是与结果相对应,整型-0;String-null;char-空;boolean-false;浮点型-0.0。

2.成员变量的赋值方法

a. 直接复制法

package userinfor;

public class UserInfo {
    
     int age;
     String name;
     String mobile;
     String address;


	 public static void main(String[] args) {
          //int score = 12;
          UserInfo user1 = new UserInfo();
          user1.age = 12;
          user1.name = "某某";
          user1.mobile = "123456789";
          user1.address = "xxxxxxxxx";
          System.out.println(user1.age);
          System.out.println(user1.name);
          System.out.println(user1.mobile);
          System.out.println(user1.address);
         
          UserInfo user2 = new UserInfo();
          user2.age = 21;
          user2.name = "某某某";
          user2.mobile = "987654321";
          user2.address = "xxxxxxxxxxxxxx";
          System.out.println(user2.age);
          System.out.println(user2.name);
          System.out.println(user2.mobile);
          System.out.println(user2.address);
	}
}

在这里插入图片描述
当对象的数量多的时候,这样的赋值方法可以说是非常的麻烦,而且导致了代码非常的不简洁,这是与Java编程思想相悖的。所以第二种赋值方法产生了。

b. 利用构造方法

Java构造方法

构造方法的定义

  • 方法是类名({参数列表()}){}
    特点
  • 构造方法没有返回值部分 void 不能有;
  • 一个类中默认有无参构造方法,当定义了一个有参的构造方法,无参方法就不存在了
  • 构造方法不允许final和static修饰
  • 一个类中根据需要可以定义多个构造方法,这是”重载“体现
  • 为了简化代码,类中构造方法可以相互调用,this(实参列表),但必须至于构造方法第一行,而且一个构造方法中不能有两个this,否则会报错,且调用是不分上下的,this(实参列表)既可以调用上面的构造方法,也可以调用下面的构造方法。
    在这里插入图片描述
package userinfor;


public class UserInfo {
    
     int age;
     String name;
     String mobile;
     String address;

     UserInfo(int a,String n, String m,String add){
          this(a,n);//调用变量a,n的构造方法
          mobile = m;
          address = add;
     }
    
     UserInfo(int a){
          age= a;
     }
     UserInfo(int a,String n){
          this(a);//调用a的构造方法
          name = n;
     }
     public static void main(String[] args) {
          UserInfo user1 = new UserInfo(12,"某某","123456789","xxxxxxxx");
        
          System.out.println(user1.age);
          System.out.println(user1.name);
          System.out.println(user1.mobile);
          System.out.println(user1.address);
         
         
          UserInfo user2 = new UserInfo(21,"某某某","987654321","xxxxxxxxxxxxxx");
          System.out.println(user2.age);
          System.out.println(user2.name);
          System.out.println(user2.mobile);
          System.out.println(user2.address);
     }
    
    
}

在这里插入图片描述
在这里插入图片描述

以上代码,结果跟第一种方法是一模一样的,但是从代码的简化方面来看,明显简化了,大家可以在以后的编程中采用第二种方法去给对象赋值。

发布了12 篇原创文章 · 获赞 15 · 访问量 439

猜你喜欢

转载自blog.csdn.net/ArcsinTao/article/details/104577982