作用域
概念:
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.一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器