黑马程序员_面向对象(基础)

 

class 类
实例(instance),某类对象的一个特定实体,类是对象的一个抽象,就是描述对象的

对象
对象就是现实生活中,确实存在的那个个体,包含两个特性:
状态: 指对象本身的信息(内部信息/内部变量)
行为: 实现对信息的访问/对象的操作


 

类的定义格式

[类的修饰符]class 类名[extends 父类名]implements[接口列表]
{
 类型 成员变量1;
 类型 成员变量2;
 类型 成员方法1(参数1, [参数2, …])
        {
   方法体;
 }
 类型 成员方法2(参数1, [参数2, …])
        {
   方法体;
 }
}


 

成员变量和局部变量
  |-- 成员变量跟随对象,在堆内存中存储
  |-- 局部变量,跟随方法,在栈内存存储

  |-- 成员变量都有默认值
  |-- 局部变量,必须手动赋值

  |-- 成员变量作用于整个类中
  |-- 局部变量作用于定义的大括号(方法、语句)中

 


 

成员方法(函数)
方法,函数:方法就是程序中,可以实现一个功能的独立的代码片段
   |-- 定义方法 格式

      修饰符 返回值类型 方法名(参数列表.....){
         方法体
  return;
      }

   |-- 修饰符:权限(public protected private),状态static final abstrace
   |-- 返回值类型:其实就是方法运行后,运算结果的数据类型,如果没有结果 对应void
   |-- 方法名,标识符的规则,阅读性 首字母小写,后面单词首字母大写
   |-- 参数列表:就是方法运行的时候,未知的参与运算的数据


   |-- 定义方法的注意事项
      |-- 一个方法,不能定义在另一个方法的里面
      |-- 如果方法有返回值,必须要有return
      |-- return的结果的数据类型,必须和定义的返回值类型兼容
      |-- 输出语句sop()是可以写方法的,保证这个方法有返回值
      |-- 需求中,没要求写的不要写


   |-- 方法的重载特性
    |-- 在同一个类中,可以出现同名的方法,只要它们的参数列表不一致即可
        方法的重载特性 overload  方法的多态性
 判断是否是重载:方法名一致,并且参数列表(顺序,类型,个数)不同

    |-- 当方法的主体功能一致,但是所需要的运算的参数不同,使用重载特性

 


 

构造方法(函数)
  |-- 必须和类名一模一样
  |-- 没有返回值,不需要写void
  |-- 构造方法,在建立对象的时候,运行一次,仅仅运行一次
  |-- 作用是,给对象中的成员变量进行初始化赋值
  |-- 构造方法,是可以进行重载的
  |-- 构造方法,是可以用权限修饰的
  |-- 当一个类中没有定义构造方法时,那么系统会默认给该类加入一个空参数的构造方法。但当在类中自定义了构造方法后,默认的构造方法就没有了。

 


 

static关键字

用法:是一个修饰符,用于修饰成员(成员变量,成员方法)。
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用。类名.静态成员。

特点:
1.随着类的加载而加载。也就是说会随着类的消失而消失。
2.优先于对象的存在。
3.被所有对象所共享。     
4.可以直接被类名所调用。

 


 

final关键字

可以修饰成员变量,成员方法,局部变量

被final修饰的变量,其实是一个常量,不能在修改值
被final修饰的类,是一个最终类,没有子类了
被final修饰的方法,是一个最终方法,不能再被重写了

 


 

posted @ 2013-09-01 15:10  夏夜猫  阅读(148)  评论(0编辑  收藏  举报