zoukankan      html  css  js  c++  java
  • 面向对象

    访问修饰符

    修饰符一般只修饰属性和方法,属性尽量使用private,方法尽量使用public

    public公开的,只要在同一工程内就可以访问

    protected受保护的,只能在当前包或子类中才能访问

    缺省,没有修饰符即默认,只能在当前包中才能访问

    private,私有的,只能在当前类中使用

    类型修饰符

    static:修饰变量成为静态变量,修饰方法成为静态方法

    1, 静态属性和方法在new之后放入内存,而非静态变量和方法在new之前就放内存

    2, 静态属性和方法通过“类名.属性/方法”来调用,而非静态,属性或方法通过“对象名.属性/方法”调用

    final:修饰变量成为静态变量,修饰方法成为静态方法

    1, 修饰变量使之成为常量,常量名全部大写,不能修改其值

    2, 修饰方法使之不能被子类重写

    3, 修饰类使之不能被继承

    是对象的抽象概念,由属性(成员变量)和方法(成员方法)组成

    构造方法:

    1, 方法名和类名一样,没有返回值也不能写成void

    2, 目的是给属性赋初值

    3, 创建一个类会默认创建一个无参的构造方法,会默认调用super(),如果自定义了构造方法会覆盖默认的构造方法

    重写:子类中的方法和父类的返回值类型、方法名、参数列表相同

    重载:在同一个类中,方法名相同,参数列表不同(个数,类型,顺序)

    对象

    类的实例化,通过new创建对象(JDK1.8以后可以通过反射不使用new创建对象)

    把属性和方法封到一个类里面,使用的时候通过对象来访问

    封装

    把属性和方法封到一个类里面,使用的时候通过对象来访问

    实现封装:

    1,  属性私有化

    2,  对属性提供getter和setter

    继承

    提高代码复用,降低冗余,通过关键字extends来实现

    1, 单根继承(但是可以多重继承)

    2, 父类私有属性方法和构造方法不能继承

    3, super表示父类实例对象,只能在子类中使用

    4, super()表示调用父类构造方法(必须写在子类构造器中第一行)

    5, this表示当前类的实例对象,能区分局部变量和成员变量(属性)

    6, this()表示调用当前类的构造方法,也不许放在首行

    多态

    1,  可以把父类当成子类来使用(实例化子类用父类接收)

    2,  只能访问父类中的属性和方法,如果要访问子类独有的属性和方法要强制转换成子类

    抽象类

    通过abstract来定义

    1, 可以包含抽象方法,不能直接实例化,只能实例化子类

    2, 子类必须实现父类的抽象方法(如果不实现那么子类也必须是抽象类)

    抽象方法:没有方法体,访问修饰符不能为private,因为这样子类就不能继承该方法也实现不了该方法

    接口

    通过interface来定义

    1, 接口和接口可以多继承

    2, 类和接口通过implements实现,也可以多实现(所以一般不采用接口多继承)

    3, 由静态常量和抽象方法组成,对于常量可以省略public static final,对于方法可以省略public abstract

  • 相关阅读:
    当我说要做大数据工程师时他们都笑我,直到三个月后……转
    体系化认识RPC--转
    jsoup HTML parser hello world examples--转
    数组指针和指针数组的区别
    什么是计算机科学
    HTML图片热区map area的用法
    九宫八卦--易学基础
    初探Net框架下的XML编程技术
    百度网盘学习资料
    遍历json 对象的属性并且动态添加属性
  • 原文地址:https://www.cnblogs.com/huanggy/p/9190136.html
Copyright © 2011-2022 走看看