面向对象的特点:  封装,继承,多态



  1. 多态

    参数不同,运行结果不同,条件不同,运行结果不同。

    多态的前提:继承,重写,向上转型。

    多态的有点:1.减少代码量(福利。。)2.降低程序的耦合度。

  2. 向上转型

    父类  对象名=new 子类构造器;向上转型为系统自动转型,该子类对象只能访问父类里面定义的属性和方法。

  3. 向下转型

    子类  新对象名=(子类)原对象名

    如果一个方法被重写,将访问重写之后的方法。


  4. 包的使用

    包是java中用来管理类的工具,相当于文件夹管理文件。

    在一个包下不能出现同名的类。

    1. package 关键字

      声明包: package 包名    

      注:

      1. 包的声明必须是整个程序中的第一行。

      2. 在用一个源文件中,可有定义多个类,但只能有一个public类,且这个public类的类名必须和源文件名相同。

      3. 编译的时候,每个类都有一个字节码文件,名称与类名相同。

      4. 同包下的类可以直接访问,不同包下的类需先引入再访问。

    2. import 关键字

      用import关键字引入  import  包名.类名  或者  import  包名.*;


  5. 抽象类

    抽象类用abstract修饰,没有方法体,主要作用是被其他类继承。

    abstract关键字

    1. abstract用于修饰抽象类和抽象方法,

    2. 抽象方法必须在抽象类中,但抽象类中可以有非抽象方法。

    3. 抽象类不能创建对象,只能提供属性和方法用于其他类的继承,

    4. 抽象方法的重写,叫方法的实现。

    5. 具体化的子类是可以创建对象的。

    6. 抽象类是可以继承非抽象类的。


  6. 修饰符

    修饰符分为访问修饰符和非访问修饰符。

    1. 访问修饰符有 public  ,  protected    ,    private 

访问修饰符的作用:修饰成员、变量、方法、构造器,类是能用public或者没有修饰符修饰。

用public修饰的包能被任何包下的类访问,没有修饰符(缺省值)修饰的类,只能被同包下的类访问。

非访问修饰符有  static  ,  final   ,  abstract  , synchronized  等等。注意:
  1. 同包下的类之间,可以访问非私有的属性,方法,构造器。

  2. 不同包下的类之间,只能访问共有的属性,方法,构造器。

  3. 私有的属性,方法,构造器,只能在当前来下使用,访问。

  4. 同包下,子类可以继承父类的非私有属性,方法。

  5. 不同包下,子类只能继承父类共有的和受保护的属性,方法。

接口接口是对类的不充,一个类可以有多个接口。定义:  [修饰符]  interface  接口名 {[常量];[抽象方法]}接口的实现: 用implements 关键字 : [修饰符]  class 类名  implements 接口1,接口2... 接口的继承:子接口 extends 父接口1,父接口2....注意:接口里只能是常量和抽象方法,且只能用public修饰。final 关键字
  1. 修饰类:该类不能被继承;

  2. 修饰属性:该属性是常量,不能被重新赋值。

  3. 修饰方法:不可重写,可被继承。