变量、常量、作用域
变量分为类变量、实例变量、局部变量。
类变量和实例变量
两种变量都是写在类里边方法外边,作用域都是整个类中,其中
1、类变量定义时加上static关键字,在该类的方法中可以直接调用。(后续再补充其他类变量的关键字用法)
2、实例变量的定义没什么特别,但是如果没初始化则自动赋默认值。参考第五行代码。
并且在方法中调用该变量的时候,要先实例化该类为对象,然后再通过对象来调用变量。(参考main方法中的代码)。
实例化时,写上new Demo06();按住option+回车回自动填充。alt
public class Demo06 {
static int all = 355; //类变量,加了static关键字
String str = "hello world"; //实例变量:从属于对象,用的时候需要实例化类
String name;
int age;//实例变量未赋初始值默认为0,或0.0,字符串默认16位的0
//布尔值默认位false
//除了基本数据类型,其余的默认值都是null
//其他方法
public void method(){
int i = 0; //局部变量
}
//main方法
public static void main(String[] args) {
//变量类型 变量名字 = new Demo08()
Demo06 demo06 = new Demo06();
System.out.println(demo06.str); //hello world
System.out.println(demo06.age); //0
System.out.println(demo06.name); //null
System.out.println(all); //355 因为加了static所以不用实例化再调用对象,要是在方法外的变量没static关键字,在方法里调用该变量会报错
}
}
常量
初始化后不会再变动的值,通常用final关键字修饰,常量名一般使用大写字符。
public class Demo07 {
static final double PI = 3.14; //static和final都是修饰符,不区分书写顺序
final int W = 123;
public static void main(String[] args) {
System.out.println(PI); //也是因为用了static修饰,这里才能直接引用
Demo07 demo07 = new Demo07();
System.out.println(demo07.W);//实例常量的调用
}
}