作用域

概念:

1.主要的变量就是属性(成员变量)和局部变量

2.局部变量一般是指在成员方法中定义的变量

3.全局变量:也就是属性,作用域为整个类体

局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码块中

4.全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值

class Cat{
    //全局变量:就是属性,作用域为整个类体
    //属性在定义时,可以直接赋值,也可以不赋值,为默认值
    int age=10;
    public void cry(){
        //1.局部变量一般是指在成员方法中定义的变量
        //2.n和name就是局部变量,必须赋值后才可使用
        //3.n和name的作用域只在cry方法中
        int n=10;
        String name="lucky";
    }
}

注意事项:

1.属性和局部变量可以重名,访问时遵循就近原则

2.在同一个作用域中,比如在同一个成员方法中,两个局部变量,不能重名

3.属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁,即在一次方法调用过程中

4.作用域范围不同

        全局变量:可以被本类使用,或其他类使用

        局部变量:只能在本类中对应的方法中使用

5.修饰符不同

        全局变量:可以加修饰符;局部变量不可以加修饰符

构造器

概念:构造器是类的一种特殊方法,它的主要作用是完成对新对象的初始化

特点:1.方法名和类名相同

           2.没有返回值

           3.在创建对象时,系统会自动的调用该类的构造器完成对象的初始化

public class Study {
    public static void main(String[] args) {
        Person p = new Person("jack",18);
        System.out.println("姓名="+p.name+'\n'+"年龄="+p.age);
    }
}
class Person {
    String name;
    int age;
    //1.构造器没有返回值,也不可以写void
    //2.构造器的名称和类Person必须一样
    //(String pName,int pAge)是构造器形参列表,规则和成员方法一样
    public Person(String pName,int pAge){
        //完成对象的初始化
        name=pName;
        age=pAge;
    }
}

注意事项:

1.一个类可以定义多个不同的构造器,即构造器重载(形参列表不一致)

2.构造器名和类名要相同

3.构造器没有返回值

4.构造器是完成对象的初始化,不是创建对象

5.在创建对象时,系统自动的调用该类的构造方法

6.如果没有定义构造方法,系统会自动给类生成一个默认无参构造方法

7.一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器