java面向对象——类中属性的使用-Java板块造梦空间论坛-技术交流-造梦空间论坛

java面向对象——类中属性的使用

文章目录[隐藏]

属性(成员变量) vs局部变量

相同点

  1. 定义变量的格式:数据类型 变量名=变量值
  2. 先声明后使用
  3. 变量都有其对应的作用域

不同点

  1. 在类中声明位置不同
    属性直接定义在类的一对{}
    局部变量:声明在方法内、方法形象、代码块内、构造器内部变量
    属性直接定义在类的一对{}内
    局部变量:声明在方法内、方法形象、代码块内、构造器内部变量
    属性直接定义在类的一对{}内 局部变量:声明在方法内、方法形象、代码块内、构造器内部变量
  2. 关于权限修饰符的不同
    属性:可以在声明属性时,指明权限,使用权限修饰符
    局部变量:不可以使用权限修饰符
    属性:可以在声明属性时,指明权限,使用权限修饰符
    局部变量:不可以使用权限修饰符
    属性:可以在声明属性时,指明权限,使用权限修饰符 局部变量:不可以使用权限修饰符

    常用修饰符

    privatepublicprotected
    private、public、protected
    private、public、protected
  3. 默认初始化值的情况
    属性:累的属性根据其变量类型,都有初始化值
    整型(byte、short、int、long)=0
    浮点型(float、double)=0.0
    字符型(char)=0('\u0000')
    布尔型(boolean)=false
    引用数据类型(类、数组、接口)=null
    局部变量:没有默认初始化值
    我们调用局部变量前需要先声明变量值。
    特变的形参在调用时,我们在赋值即可。
    属性:累的属性根据其变量类型,都有初始化值
    整型(byte、short、int、long)=0
    浮点型(float、double)=0.0
    字符型(char)=0(或'\u0000')
    布尔型(boolean)=false
    引用数据类型(类、数组、接口)=null
    
    局部变量:没有默认初始化值
    我们调用局部变量前需要先声明变量值。
    特变的形参在调用时,我们在赋值即可。
    属性:累的属性根据其变量类型,都有初始化值 整型(byte、short、int、long)=0 浮点型(float、double)=0.0 字符型(char)=0(或'\u0000') 布尔型(boolean)=false 引用数据类型(类、数组、接口)=null 局部变量:没有默认初始化值 我们调用局部变量前需要先声明变量值。 特变的形参在调用时,我们在赋值即可。
  4. 在内存中加载的位置
    属性:加载到堆空间中
    局部变量:加载到栈空间中
    属性:加载到堆空间中
    局部变量:加载到栈空间中
    属性:加载到堆空间中 局部变量:加载到栈空间中

例子

class User{
//属性(成员变量)
private String name;
int age;
public void talk(String language) {//language=形参,局部变量
System.out.println("使用的是"+language+"进行交流");
}
public void eat() {
String food="烙饼";//局部变量
System.out.println("北方人喜欢吃"+food);
}
}
class User{
  //属性(成员变量)
  private String name;
  int age;
  public void talk(String language) {//language=形参,局部变量
    System.out.println("使用的是"+language+"进行交流");
  }
  public void eat() {
    String food="烙饼";//局部变量
    System.out.println("北方人喜欢吃"+food);
  }
}
class User{ //属性(成员变量) private String name; int age; public void talk(String language) {//language=形参,局部变量 System.out.println("使用的是"+language+"进行交流"); } public void eat() { String food="烙饼";//局部变量 System.out.println("北方人喜欢吃"+food); } }

 

 

请登录后发表评论

    没有回复内容

© 造梦空间论坛
❤富强❤