对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型,其定义为:
class 类名{
}
一句话:对象是类的实例,类是对象的模板
我们如何表示一个现实世界事物呢:
属性 就是该事物的描述信息————成员变量
行为 就是该事物能够做什么————方法
举例:
类 学生
对象 班长就是一个对象
成员变量即属性 人的身高,体重等
方法即行为 人可以学习,吃饭等
我们都知道,类和属性及方法都有访问权限修饰符的。那么你见过类用private 、protected修饰过吗?没有吧,原因是如果是private、protected的话这个类就无法给其他类使用了。
private、protected、public和default的区别
(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。
(2)对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。
(3)对于default来说,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。声明时没有加修饰符。
(4)对于private来说,它的访问权限仅限于类的内部,是一种封装的体现,例如,大多数的成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。
Java访问控制符的含义和使用情况
在前面的文章中已经对成员变量和局部变量的简单提及,这里再总结一下:
成员变量和局部变量的区别?
A:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
成员变量:有默认初始化
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:
局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。