面向对象:一种认识事物的方式,注重对事物整体的认知,最符合人类自然的思维习惯
对象是存在的具体实体,具有明确定义的特征和行为。万物皆对象,对象因我关注而产生。类是具有相同属性和行为的一组对象的集合。在软件系统中我们用类来模拟现实生活中的实体,类是对象的抽象,对象是类的实例。对象的产生是数据封装的结果。
java的数据类型分为两种:基本数据类型和引用数据类型,其中基本引用类型,在变量中存放的是具体的数据;引用数据类型在变量中存放的是对象的地址。
静态变量:是每个对象共享的变量,当其中一个对象改变他以后会影响所有的对象(public static......);对静态变量的访问可以通过对象.的方式访问,也可以通过类名.的方式访问,所以静态变量也称为类变量。
成员变量和静态变量的区别
成员变量是包含在对象之中的,是对象的特征,而静态变量独立在对象之外,每个对象都有成员变量,而且一个对象成员变量的变化,不会影响别的对象,但静态变量是所有对象共享的变量,他的变化会引起所有对象的变化
成员变量随着对象的产生而产生,随着对象的销毁而销毁;而静态变量加载的时机在对象之前,常驻内存,除非虚拟机关闭,否则不会销毁
局部变量:方法和语句块内部定义的变量(栈空间,当方法或语句块一结束,局部变量空间马上释放)
成员变量(属性):方法外部,类的内部定义的变量(堆空间,随着对象的产生而产生,随着对象的销毁而销毁)
类变量(静态变量):加上了static关键字(数据段,常驻内存,创建后不会消失)
如果当前类所用到的类不在一个包中,需要使用import导入该类,有两种类无需导入可以直接使用(java.lang、本包中的类)
如果一个类申明时加上了static,类名和文件名必须一致,该类可以跨包使用,如果一个类申明时采用默认修饰符,类名和文件名可以不一致,但不能跨包使用
使用包的好处:可以组织相关类,可以做到信息的隐藏
成员方法:如果在申明一个方法时没有使用static来修饰该方法,则这个方法是属于这个类的实例方法,要使用成员方法时必须通过创建该类的实例来使用这个方法
使用静态方法时可以直接通过类名来使用,而不需要该类的实例