美文网首页java干货Java学习笔记java
【Thank & Discuss】OOP(Object-

【Thank & Discuss】OOP(Object-

作者: wuchaooooo | 来源:发表于2016-07-23 17:24 被阅读40次

    一、面向对象的几个基本特征:封装性,继承性,多态性

    1. 封装性:选择性的对外隐藏内部属性(public, protected, defult, private),内部类。

    2. 继承性:子类继承父类(继承了父类的属性和方法)

    3. 多态性:
      (1)重载:在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同静态(参数的类型、参数的顺序、参数的个数)确定其相应的方法。注意,单单返回类型不一样是不能作为重载的。
      (2)重写:子类对父类的方法重写。 (返回类型,参数的类型、参数的顺序、参数的个数必须一样,只有方法体可以不一样。)

    二、类

    1. 类的声明:
      [public | default] [abstract | final] ClassName extends(SuperClassName) implements 接口1,接口2......
    2. 类的成员属性:
      访问权限关键字([public | protected | defult | private] [static] [final])
      类型
      标识符
    3. 类的成员方法:
      ([public|protected| defult|private] [static] [final] [返回类型] methodName(参数列表)
      {
      方法体
      }
    4. 构造方法:必须与类名同名
      public ClassName (参数列表){
      this(传入的参数名字与本类的成员属性同名,成员属性被覆盖。所以需要使用this来调用当前对象成员属性)
      }

    接口是特殊的抽象类,对吗?

    四、抽象类和接口

    1. 抽象类:用abstract修饰的类。如果这个类里面有抽象方法,那么这个类必须被声明为抽象类。
      抽象类和实例类的区别:抽象类里面有抽象方法。抽象类不能被实例化,并且其全部抽象方法必须在子类中重写。

    2. 接口:【public】 interface 接口名 extends 接口1,接口2.....{
      【public】【static】【final】数据类型 变量名 = 常量值;
      【public】【abstract】返回类型 方法名 (参数列表);
      “【】”表示我们自己不写,系统帮我们直接写上去的关键字。
      }
      接口里可以有静态方法,可以有default方法(就是实例方法:就是在这个接口的实现类里面,可以创建对象之后,直接调用这个方法),可以有抽象方法。

    3. 抽象类和接口的区别:(1)接口可以有属性(但是只能是常量)。
      (2)一个类可以实现多个接口,一个接口可以继承多个接口,一个类只能继承一个类。

    五、this 和 super

    1. this()和super(),只用于构造方法的方法体的第一行.

    2.this.和super.

    六、内部类

    七、两对冲突的关键字:

    1. abstract和final在类声明时是不能同时出现的(因为final的意思就是这个类不能被继承,而abstract表示这个类是抽象类,必须被其子类实现它的抽象方法)

    2.abstract和static在方法的声明时是不能同时出现的(因为abstract方法是没有方法体的,它不可能被类直接调用。)

    相关文章

      网友评论

        本文标题:【Thank & Discuss】OOP(Object-

        本文链接:https://www.haomeiwen.com/subject/vidwjttx.html