面向对象

来源:互联网 发布:数据库学习入门 编辑:程序博客网 时间:2024/05/04 12:16

 ------- android培训、java培训、期待与您交流! ----------

一.单例设计模式
 1.什么是单例设计模式
  定义一个类的时候, 如果希望这个类在整个程序中只存在一个对象, 那么就可以使用单例设计模式
  * 2.单例设计模式的写法
  私有化构造函数, 阻止类外创建对象
  类内部创建一个对象, 定义一个静态的成员变量引用这个对象. 使用private修饰, 防止类外修改
  提供一个公有静态的get方法获取对象

二.继承
 1.什么是继承
  继承就是指用一个类使用extends关键字继承另一个类, 继承之后子类会得到父类的所有成员
 2.什么时候用继承
  当定义一个类的时候, 发现另一个类的功能这个类全都需要, 这时就可以使用继承.
 3.Java中继承的特点
  一个父类可以有多个子类, 一个子类只能由一个父类.
  Java只支持单继承, 不支持多继承, 可以多重继承.
 4.继承原理
  在创建子类对象的时候, 会先加载父类, 再加载子类, 然后创建父类对象, 再创建子类对象.
  访问子类对象成员的时候, 会先在子类中查找, 有就直接使用, 没有则到父类中继续查找.
  * 5.子类对象初始化的过程
  创建子类对象调用子类的构造函数的时候, 在子类的构造函数中, 必须调用父类的构造函数创建父类对象.
  如果没有显式调用父类构造函数, 那么编译时自动会使用"super()"形式调用父类无参的构造函数.
  如果希望调用父类有参构造函数, 在super()中加入实参即可. super()必须是构造函数中的第一个语句.
  父类如果没有无参的构造函数, 那么子类继承的时候必须显式的使用"super(参数)"调用一个父类有参的构造函数.
  构造函数的第一条语句, 要么是this(), 要么是super(), 如果都没写, 默认是super()
 6.继承的细节
  继承的时候只能继承到父类可见的成员, 不可见的成员是不会被继承的. 
  构造函数不会被继承
  * 7.向上转型
  子类可以当作父类使用, 因为父类的功能子类都有
  父类不能当作子类使用, 因为子类的功能父类不一定有
  子类当作父类来使用时, 不能使用父类变量调用子类特有成员
  * 8.强制类型转换
  子类当父类用之后, 如果还想调用子类的成员, 需要强制类型转回子类.
  转换的语法为: (子类类型)父类变量
  由于强制类型转换不论类型是否匹配, 编译都不会报错, 通常我们在强转之前使用instanceof判断一下
  * 9.子类重写父类方法
  子类继承父类之后, 可以重写父类方法, 重写之后再调用时就会找子类的方法了
  重写方法时, 不能指定更低的访问权限.
  重写方法时, 返回值类型必须和父类相同. 子类的返回值类型是父类返回值类型的子类也可以.
  重写父类方法后, 如果希望调用父类方法, 可以使用"super.方法名()"形式调用
  可以使用注解@Override检查一个方法是否重写了父类的方法
  
三.Object类
  * 1.什么是Object类
  Object类是Java中所有类的父类, 其中定义的方法被所有的类继承
 2.finalize()方法
  这个方法是Object类中定义的一个方法, 在对象被销毁之前由虚拟机自动调用. 通常用来做一些释放资源的操作.
  Object类中的这个方法没有写任何代码, 如果我们想在对象销毁之前做什么操作, 可以在自定义的类中重写这个方法.
 3.System.gc()
  Java虚拟机中的垃圾对象并不是立即回收的, 如果我们想清空虚拟机中的所有垃圾对象, 就可以调用System.gc()这个方法
静态方法也可以被继承

 

------- android培训、java培训、期待与您交流! ----------   详细请查看:http://edu.csdn.net/heima/
原创粉丝点击