Java面向对象-1.变量、private

创建对象:类名 对象名 = new 类名();

Student s = new Student();

调用属性的时候没有括号 s.name = “张三”;

调用方法的时候有括号 s.study();

Java面向对象-1.变量、private

Java面向对象-1.变量、private

成员变量和局部变量区别:

  1. 成员变量:定义在类中,方法外。
  2. 局部变量:定义在方法上,public void speak(int y){ } y为局部变量
  3. 局部变量:定义在方法内。
  4. 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
  5. 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
  6. 成员变量:随着对象的创建而存在,随着对象的消失而消失
  7. 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
  8. 成员变量:有默认初始化值,int为0,string为null。
  9. 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

注意事项:成员变量和局部变量名称可以一样,采用就近原则。

方法的参数是类名:这里需要的是该类的对象

方法的返回值是类名:这里返回的是该类对象

Car c1 = new Car(); //c1是对象的名字

匿名对象:new Car();

匿名对象使用属性,方法:new Car().color = “blue”; new Car().run();

匿名对象调用方法的好处只是节省了代码,如果对同一个方法多次调用,只能用有名对象。因为匿名对象会创建多个对象,浪费内存空间

Java面向对象-1.变量、private

封装:隐藏实现细节,仅对外提供公共访问方式。

private关键字:对外提供公共的访问方法,分别是setXxx()用于设置参数,getXxx()用于获取参数。

private权限修饰符:只能在本类访问,可以修饰成员变量和成员方法

private仅仅是一种封装的体现形式,不能说封装就是私有。

this关键字:代表当前对象的引用。this可以区分成员变量和局部变量重名,用this.调用的是成员变量。this也可以调用成员方法。局部变量不能用(对象.变量名)来引用。

Java面向对象-1.变量、private