一、变量
- 成员变量:在类中直接声明,成员变量可以不被初始化,可以直接使用(为默认值)。
- 局部变量:在方法中声明的变量,使用前必须赋值。
二、常量
- 在类中声明,用final关键字修饰,必须要初始化,一旦不能被再改变
- 常量名称习惯大写
package com.CoderLB;
import java.util.Scanner;
public class Hi {
public static double num;//在方法之外(类中)直接声明的变量就是成员变量(类的成员变量)
//定义常量
public static final double NUMBER=100.00;//
public static void main(String[] args) {
//可否修改
//NUMBER=129.00;//常量不能被修改
System.out.print(num);
}
}
三、静态变量和实例变量
成员变量分为:静态变量和实例变量
- static修饰的成员变量为静态变量,保存在一块共享空间(方法区:static修饰的变量或者方法信息),这个区叫作全局数据区,保存在这个区的数据是共享的。
- 静态变量是该类创建的每个实例对象的共享变量例如以下school=“河海大学”,只给了s1对象。而s2,s3共享。
- 静态变量可以使用“类名.属性名”和“对象名名.属性名”的方式访问,所以静态变量又叫做类变量。
- 非静态变量只能使用“对象名名.属性名”的方式访问,依赖对象(实例(如s1)存在),所以叫作实例变量。
public class Main {
public static void main(String[] args) {
System.out.println("第一个学生姓名:"+s1.name+"学校是:"+Student.school);
}
}
package com.CoderLB;
public class Student {
//为了方便操作数据,就不定义为私有属性(严格来说要定义为私有属性的)
String name;//实例变量。对象名.属性名访问
int age;//实例变量,对象名.属性名访问
static String school;//静态变量,每个对象共享。类名称.属性名访问
}
package com.CoderLB;
public class Main {
public static void main(String[] args) {
Student s1 = new Student();
s1.name="李四";
s1.age=18;
s1.school="河海大学";
Student s2 = new Student();
s2.name="张三";
s2.age=18;
//s2.school="河海大学";
Student s3 = new Student();
s3.name="王五";
s3.age=18;
//s3.school="河海大学";
System.out.println("第一个学生姓名:"+s1.name+",学校: "+s1.school);
System.out.println("第二个学生姓名:"+s2.name+",学校: "+s2.school);
System.out.println("第三个学生姓名:"+s3.name+",学校: "+s3.school);
}
}