Java面向对象-1.变量、private
创建对象:类名 对象名 = new 类名();
Student s = new Student();
调用属性的时候没有括号 s.name = “张三”;
调用方法的时候有括号 s.study();
成员变量和局部变量区别:
- 成员变量:定义在类中,方法外。
- 局部变量:定义在方法上,public void speak(int y){ } y为局部变量
- 局部变量:定义在方法内。
- 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
- 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
- 成员变量:随着对象的创建而存在,随着对象的消失而消失
- 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
- 成员变量:有默认初始化值,int为0,string为null。
- 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:成员变量和局部变量名称可以一样,采用就近原则。
方法的参数是类名:这里需要的是该类的对象
方法的返回值是类名:这里返回的是该类对象
Car c1 = new Car(); //c1是对象的名字
匿名对象:new Car();
匿名对象使用属性,方法:new Car().color = “blue”; new Car().run();
匿名对象调用方法的好处只是节省了代码,如果对同一个方法多次调用,只能用有名对象。因为匿名对象会创建多个对象,浪费内存空间
封装:隐藏实现细节,仅对外提供公共访问方式。
private关键字:对外提供公共的访问方法,分别是setXxx()用于设置参数,getXxx()用于获取参数。
private权限修饰符:只能在本类访问,可以修饰成员变量和成员方法
private仅仅是一种封装的体现形式,不能说封装就是私有。
this关键字:代表当前对象的引用。this可以区分成员变量和局部变量重名,用this.调用的是成员变量。this也可以调用成员方法。局部变量不能用(对象.变量名)来引用。