欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java的构造方法,静态变量与静态方法

程序员文章站 2024-03-12 12:33:44
...

一.Java的构造方法

1.定义

就是将对像的属性(成员变量)进行初始化的方法。

2.写法

1.方法名与类名完全相同

2.没有返回值类型(比如int String,void也不写)

3.没有返回值(没有return)

3.代码

public class Demo01 {

    public static void main(String[] args) {
     //如果没有自己定义无参构造方法的话,系统会有默认的无参方法
     //这里最好在Person类中自己定义无参方法,这样避免错误

     //这个是调用无参方法
        Person p = new Person();
        p.sayHi();

        //有参的构造方法
        //函数的重载 参数不同(参数顺序 参数个数 参数类型)
        //切记 参数的名字不同 不是函数的重载
         //构造方法 也符合函数的重载

        Person p2=new Person("王五", 100);
        p2.sayHi();

    }
}
    class Person{
          String name = "李四";   //名字
          int age  =28 ;     //年龄

          //无参数的构造方法
          public Person() {

          }
         //写一个有参数的构造法
          public Person(String name,int age) {
                //给对象的成员变量赋值
                 this.name=name;
                 this.age=age; 
          }
          public void sayHi() {
              System.out.println(name+"--"+age);      
          }    
   }

4.注意事项

1.如果你没写任何构造方法,那么系统会提供一个无参构造方法

2.如果你写了有参构造方法,这时系统就不在为你提供无参的构造方法

3.如果你想写有参构造方法,建议你把无参的构造方法也写上

二.Java的静态变量(类变量)

1.定义:被static修饰的成员变量

2.静态变量调用

1.可以使用对象去调用(但是不推荐)

2.静态变量用类名去调用(静态变量不依赖对象 因为静态变量被加载的时候 对象还没有被创建)

3.静态变量的特点:
* 1.随着类的加载而加载
* 2.创建于优先于对象的存在
* 3.是类创建出来对象共享的部分
* 4.可以使用类名去调用

4.优点:节省内存空间

5.静态变量与成员变量的区别

  • 1.所属不同
  • 成员变量:属于对象 又叫对象变量(实例变量)
  • 静态变量:属于类的 又叫类变量
  • 2.内存中的存储位置不同
  • 成员变量:堆内存中
  • 静态变量:存储在 方法区中的静态区
  • 3.加载到内存中的时机不同(声明周期不同)
  • 成员变量:随着对象的创建而创建
  • 静态变量:随着类的加载而存在
  • 4.调用方法不同
  • 成员变量:只能使用 对象去调用
  • 静态变量:可以用对象去调用 但是一般用类名去调用

6.内存表现
Java的构造方法,静态变量与静态方法
7.代码表现

public class Demo04 {

    public static void main(String[] args) {
        Girl g1=new Girl();
        g1.name = "夏小慧";
        Girl.country="中国";
        g1.sayHi();

        Girl g2=new Girl();
        g2.name ="牧屿秋";
        g2.sayHi(); 

        Girl g3=new Girl();
        g2.name ="萧雨";
        g2.country="中国1";
        g2.sayHi(); 

    }

}

   class  Girl{
                String name;     //姓名
        static  String country; //国籍

        public Girl() {

        }
          public void sayHi() {
              System.out.println(name+"---"+country);

          }
   }

三.Java的静态方法(类方法)

1.静态方法的调用

所定义的类名 . 所要调用该类中的方法

2.代码

public class Dmeo05 {

   public static void main(String[] args) {
     Man m1=new Man();
     m1.sayHi1();
     // 静态方法的调用
     //使用 类名.方法 去调用
     Man.sayHi2();
}
}
  class Man{
        int num1;
        static int num2;
        //在成员方法中可以使用成员变量和静态变量
        public void sayHi1() {

            System.out.println(this.num1);
            System.out.println(Man.num2);
        }
        //生明一個 静态成員方法
        //num1是成员变量
        //num2是静态变量
        //简单记:静态方法中只能使用静态变量 和 静态方法
       public static void sayHi2() {
        System.out.println(num2);
        }
  }