标签:获取 基本 逻辑 默认 ... 构造函数 开头 没有 区别
================ 面向对象的核心基础 ====================
注意:
  标识符
    1、定义必须有意义
    2、以字母,下划线,$符号开头,其他内容不能包含特征符号
    3、类名首字母必须大写,方法名和属性名首字母必须小写,使用驼峰命名方式
    4、常量所有字符都必须大写,如果多个单词之间使用下划线分割
一、什么是对象
       现实:具有明确定义的行为和特征的一类事物
       程序: 堆内存中分配内容空间
       具体类的实例。
二、什么类
    类: 具体相同行为和特征的抽象
         类是对象的模板
   类的定义:
     public    所有对象都可以访问
     protected 同一个包或者子类的对象可以访问
     default(省略)   同一个包的对象可以访问
     private   只能本类才能访问
     final     不能被其他类继承(派生)
     abstract  abstract关键字修饰的类是抽象类
     ---------------------------------------
     抽象类和类区别:
         不同点:
            1>不能被实例化。
            2>可以定义抽象的声明、抽象方法。
         相同点:
            1> 都有构造函数
            2> 都可以定义实现的方法
     ----------------------------------------
     static 静态类[一般定义内部类]
     <访问修饰符> class 类名 {
        // 构造函数/构造器
        // (★)一个类都有一个默认无参的构造函数
        // (★)一旦显示定义构造函数,都会把类中默认的构造函数覆盖掉
        // 作用: 初始化类中成员变量/成员属性
                  调用对应构造函数实例对象
        // 定义:构造函数的名称和类名相同
           构造函数重载:构造函数中参数个数和类型不同可以构成构造函数的重载
        
        
     	// 属性 - > 特征
        static 属性属于类本身
               在内存中是唯一存在
               调用方式 类名.属性名
        <访问修饰符> 属性类型(基本/引用) 属性名称;
        // 封装
        // 1、使用private修饰类中属性
        // 2、提供属性对应访问器(getter,setter)
              对象的属性赋值或者获取操作进行控制
        // 方法 - > 行为
        方法修饰符:
        static 使用static关键字修饰的方法,属性属于类本身,而不属于类的实例,调用: 
类名.静态方法名称(....);
        final  使用final关键字修饰的方法,不能被子类重写/覆写
        abstract 使用abstract修饰方法,必须定义在抽象类或者接口中,并且没有具体实现
        参数列表:
            参数数据类型
               值类型:  值传递,不能改变本身值
               引用类型 引用传递,可以改变对象中成员属性的值
             参数类型:
               实参: 在调用方法的时候出现,它是一个赋值的变量或者常量
               形参: 定义方法是定义参数名称,没有实际值
        <访问修饰符> <方法修饰符> 返回值类型(void/基本数据/引用) 方法名称(参数列表) 
{
        	// 方法体
                // 方法实现逻辑 
                // 注意:
                // 如果返回值不为void,那么返回结果格式:
                // return 返回值类必须是返回类型兼容的数据类型
        } 
        // 在同一个类中存在方法重载
        // 重载:在同一类中方法名称相同方法参数类型和个数不同构成方法重载,与返回值类
型无关
     } 
三、类实例化 
    1> 通过类定义的构造函数
    类名 对象名 = new 类名();
    // 通过属性对应访问器操作属性
         对象名.setXxxx(值) // 给属性设置值
         对象名.getXxxx()   // 获取对应属性的值
    // 调用类中实例方法,不是静态方法(类方法)
         对象名.方法名();
四、面向对象的特征 
     ★封装:隐藏对象中具体方法实现细节
          表现:属性私有化
           提供对应属性访问器
           提供外部访问方法,让其他方法私有化
     ★继承:子类继承父类中非私有的成员属性和方法
           1>Java中只能是单继承,可以有多重继承 ->(间接继承)
           2>实现子类的时候,先调用父类对应的构造函数初始父类,在初始化子类中成员变量
           3>子类可以重写继承父类中的方法,方法访问修饰符>=父类访问修饰符
           4>当前子类中定义与父类重名属性时,子类不能继承父类中相同名称属性
         super: 代表父类引用
           1> 在子类中使用父类构造初始化父类中成员变量的时候,必须放在子类构造函数的
第一行
           2> super(参数列表) 调用父类中对应参数构造函数初始化子类对象
           3> 可以同super.方法(....) 调用被子类重写的方法 
         this: 当前调用对象的引用[谁调用指向谁]
           1> this(....) 调用自己对应参数列表的构造函数初始化参数更多的构造函数
           2> 本来调用自己构造函数初始化,this() 必须紧跟在super()后面
           public A(int a, float b) {
                super();
           	this(a); // 调用其它构造函数初始化成员属性
                this.b = b;
	   }
           public A(int a) {
		this.a  = a;	
           }
       ★多态:一个对象的行为多种表现形态
            表现形式:
                重写
                重载
       ★抽象:在类定义的时候使用abstract关键字修饰类
               
               
       ★接口:限制实现类中必须拥有方法
               在接口定义变量都是公共的静态的常量
               接口中定义方法声明默认都是public abstract
               
             特点:
                没有构造函数
                没有具体方法
                只能被类实现<特例: 抽象类实现接口的时候可以不实现接口抽象的声明>
                接口可以继承接口,不能实现接口               
       
                
           
      
           
      
   
         
         
标签:获取 基本 逻辑 默认 ... 构造函数 开头 没有 区别
原文地址:http://www.cnblogs.com/yangruyi/p/7396091.html