类的成员变量和局部变量区别——Java面向对象基础(2)

一、定义

  1.局部变量:定义在方法中

public class Cat {
    public void catSay(){
String catName
="小苗";//局部变量
System.out.println(catName+"喵喵喵"); } }

  2.成员变量:定义在类中(且不在方法中)

public class Cat {
String catName
="小花";//成员变量

public void catSay(){ System.out.println(catName+"喵喵喵"); } }

二、总结

   1.当成员变量和局部变量定义在同一个类中,使用时按照就近原则。

public class Cat {
    String catName="小花";
    public void catSay(){
        
        String catName="小苗";//就近,使用该catName
        
        System.out.println(catName+"喵喵喵");
    }
}

   输出:

   2.局部变量定义在方法中,要想直接使用就必须赋初始值,否则会报错。

public class Cat {
    public void catSay(){
        
        String catName;
        
        System.out.println(catName+"喵喵喵");//会报错
    }
}

   3.但是成员变量可以不用赋初始值,Java自动初始化为该类型的默认值。

public class Cat {
    String catName;
    public void catSay(){
        
        
        System.out.println(catName+"喵喵喵");//不会报错
    }
}

  输出:

原文地址:https://www.cnblogs.com/Unlimited-Rain/p/12462060.html