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

一.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.内存表现
静态成员变量在内存中的表现
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);
        }
  }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值