面向对象

来源:互联网 发布:代聊都用什么软件 编辑:程序博客网 时间:2024/05/17 06:49
面向对象
 特性:
  1.封装
   提高程序的健壮性.
   成员变量私有,提供共有的get和set方法.
  2.继承
  3.多态
 类:
  class{
   
   
   私有成员变量
   静态成员变量
   
   get和set方法
   
   成员方法
   静态成员方法
   构造代码块
   
   构造函数
   
   static{
   
   }
   
   
  }
 对象:
  匿名对象
  new 关键字创建对象.
  new 类名(); 返回对象的引用.
 构造函数:
  用户初始化对象.
  特点:和类名一致.没有返回值
  自定义类没有构造函数,系统默认有一个.
  如果自定义了,系统默认没有了.
  一个类的多个构造函数是以重载的形式体现的.
  构造函数间的调用通过this.
 构造代码块
  给所有对象初始化.
  和构造函数相比,构造函数时给对应的对象初始化.
 this
  可以用于却分成员变量的和局部变量.
  this代表所在函数所属对象的引用(根据上下文).
  this构造函数的相互调用
 static
  对象和对象之间出现了重复的数据.
  static 修饰成员变量
   被所有对象所共享.
  static 修饰方法
   可以直接通过类名来调用.
   静态方法不能访问非静态成员变量
   因为声明周期的原因.
   例如: Arrays,Math 工具类 大量使用了静态方法.
 继承
  提高代码复用性是Java.描述了类和类之间的关系.
  类和类之间有关系,需要描述这些关系,类和类之间出现了重复数据.
  例如: Person类,Student类.
  Student is a Person  (学生是一个人) 
  继承的前提:
   类和类之间符合is a 
  extends
   实现继承.
   父类
    被继承的类
   子类
    继承的类.
   例如: Student extends Person
   注意: 私有的不能被继承.
  super
   用于访问父类的构造函数.
   在构造函数中,this和super不能同时存在构造函数的第一行.
   super 还可以访问父类的成员(方法和变量)
  注意:Java只支持单继承.
  重写
   前提: 子父类中(继承或者实现).
     存在同名的函数.
    子类可以对父类的功能进行增强.
   规则:
    函数名相同
    参数列表一致.
    子类不能比父类抛出更多异常.
    返回值类型:
     子类的返回值类型必须等于或者小于父类的返回值类型.
 抽象类
  abstract
  规则:
   如果一个类中存在抽象方法.类必须是抽象类.
     抽象类中可以没有抽象方法.
     抽象类可以有构造函数.
    不能创建对象.
   子类继承抽象类
    要么实现抽象方法.
    要么声明为抽象类.
 接口
  interface  声明
  implements 实现
  特点:
   成员变量: public static final
   成员方法: public abstract
  子类实现接口:
   必须实现接口中的方法.
  接口没有构造函数.
  接口和接口之间,通过继承,接口和接口可以实现多继承.
 多态
  父类引用接收了子类对象.
  使用的场景:
   集合
    Collection coll=new ArrayList();
    coll.add(Object obj);
    List
    Object get(int i);
  多态作为形参
  1:定义功能(函数),该函数可以输出任何图形的面积和周长.根据输出任何图形的面积和周长。
  父类: 图形类. 圆,矩形. 
  多态作为方法的返回值类型.
  2:定义一个汽车工厂类,获取任意一辆车对象,该工厂生产的汽车随机.
 异常
 内部类
原创粉丝点击