类的成员之一:属性
语法格式:修饰符 类型 属性名 =初值 ;
说明:修饰符private:该属性只能由该类的方法访问。
修饰符public:该属性可以被该类以外的方法访问。
类型:任何基本类型,如int、boolean或任何类。
举例:
public class Person{
private int age; //声明private变量 age
public String name = “Lila”; //声明public变量 name
}
补:变量的分类:成员变量与局部变量
在方法体外,类体内声明的变量称为成员变量。
在方法体内部声明的变量称为局部变量。
注意:二者在初始化值方面的异同:
同:都有生命周期
异:局部变量除形参外,需显式初始化。
成员变量(属性)和局部变量的区别?
成员变量:成员变量定义在类中,在整个类中都可以被访问。
成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中。
成员变量有默认初始化值。
成员变量的权限修饰符可以根据需要,选择任意一个
局部变量:
局部变量只定义在局部范围内,如:方法内,代码块内等。
局部变量存在于栈内存中。
作用的范围结束,变量空间会自动释放。
局部变量没有默认初始化值,每次必须显式初始化。
局部变量声明时不指定权限修饰符
类的成员之二:方 法
语法格式:修饰符 返回值类型 方法名 ( 参数列表) {
方法体语句;
}
说明: 修饰符:public, private, protected等。
返回值类型:return语句传递返回值。没有返回值:void。
举例:
public class Person{
private int age;
public int getAge() {
return age;
} //声明方法getAge
public void setAge(int i) { //声明方法setAge
age = i; //将参数i的值赋给类的成员变量age
}
}
对象的创建和使用
java类的实例化,即创建类的对象使用new +构造器创建一个新的对象;
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法);
举例:
public class Animal {
public int legs;
public void eat(){
System.out.println(“Eating.”);
}
public viod move(){
System.out.println(“Move.”);
}
}
public class Zoo{
public static void main(String args[]){
Animal xb=new Animal();
xb.legs=4;
System.out.println(xb.legs);
xb.eat();
xb.move();
}
}
如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰。
举例:
public class Zoo{
public static void main(String args[]){
Animal xb=new Animal();
Animal xh=new Animal();
xb.legs=4; xh.legs=0;
System.out.println(xb.legs); //4
System.out.println(xh.legs); //0
xb.legs=2;
System.out.println(xb.legs); //2
System.out.println(xh.legs); //0
}
}
提 示:
在一个类中的访问机制:类中的方法可以直接访问类中的成员变量。(例外:static方法访问非static,编译不通过。)
在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。
对象的产生:
当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的变量类型都是引用类型,如上面的Person。
匿名对象:
我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。如:new Person().shout();
使用情况;
如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
我们经常将匿名对象作为实参传递给一个方法调用。