SCJP读书之知识点:

1:实例变量和局部变量

实例变量:是在类中进行声明的,可以有public,private等修饰符进行修饰。

局部变量:在方法中进行声明,生命周期就是方法开始,到方法结束。但是可以进行对象的引用来调用。

public class Shadowing {
    int count=9;//实例变量
    public void login(){
        int count =10;//局部变量 
        System.out.println("local count is :"+count);
    }
    public void count(){
        System.out.println("instance count is:"+count);
    }
    public static void main(String[] args) {
        new Shadowing().login();
        new Shadowing().count();
        
    }
}
输出:local count is :10
instance count is:9

为什么会出现实例变量和局部变量相同的名字呢?

1:用于参数将要赋予的实例变量相同的名称命名该参数;

public class FOO {
    int Foo=27;
    public void foo(int Foo){
        this.Foo=Foo;
        System.out.println(Foo);
    }
    public static void main(String[] args) {
        new FOO().foo(100);
    }
}

this 关键字:永远,永远,永远会引用当前运行的对象。

2:数组:

  定义数组的时候不能设置大小

  int [] array;       这就是合法的。

    非法的。定义的时候不分配空间。只有实例化数组对象的时候JVM才会创建分配空间。

原文地址:https://www.cnblogs.com/bulrush/p/7083205.html