面向对象全篇总结

抽象:关注业务内容,忽略无关内容

类:对象的模板,用户自定义的抽象数据类型
    class 类名称{类体;}

对象:变量。创建对象后则可以通过对象调用类种所定义的方法
    类名称 obj=new 类名称();
    obj.方法名称(参数);

面向对象的三大特性:封装、继承、多态

封装:隐藏具体的实现细节,对外提供调用接口
    private  当前类内可见
    默认  同包可见
    protected 同包或者子类可见
    public 到处可见

继承:代码重用,批判继承
    class 儿子 extends 父类{}

    private

多态:调用同名方法,但是具体的操作逻辑不同
   类内多态:方法的重载,方法名称相同,参数不同
       参数个数、参数类型、参数顺序
   类间多态:方法的重写/覆盖
       方法签名一致
   对象多态:使用父类定义变量,创建子类对象
       父类 obj=new 子类();
        编译期类型和运行时类型 ;new谁就看谁;
                 属性和静态方法违背规则,不是new谁是谁,而是看父类

final 最终的
    final class 类{} 不允许被继承
    final 返回类型 方法名称(参数列表){} 不允许重写覆盖
    final 数据类型 属性名称;  一旦赋值则不允许修改
    final 数据类型 局部变量名称;  一旦赋值则不允许修改

static 类/静态的
    静态内部类
    static 方法   可以通过【类名.方法名】的形式直接调用方法,也允许通过对象名的方式进行调用
        在静态方法体种不允许使用this/super关键字
        静态方法只能直接访问静态成员
    static 属性   当前类的所有对象共享同一个属性
    static{}      在类加载完成后自己自动执行,没有办法再次调用
    import static java.lang.Math.*;  静态导入,可以在当前类种直接使用Math类种的静态方法,而不需要通过[Math.abs]子类的形式进行调用

    常量定义 final static 类型 常量名称=初始值  允许在静态代码块种延迟赋值

构造器:不是类成员,主要用于实施对象的初始化操作
    要求方法名称和类名称一致,不允许有返回值类型,即使void也不允许。否则就是普通成员方法
    通过new运算符进行间接调用,没有办法直接调用
    构造器方法允许重载

    类种的成员属性有默认值
        简单类型种的数值型默认0,字符型默认'\0',布尔类型默认false
        引用类型默认null

    匿名代码块 {}
        在构造器执行之前执行

super  指代父类对象
    super()/super(参数) 调用父类构造器,构建对象过程种有一个上溯流程
    super.属性  访问父类种的属性。如果当前类种并没有覆盖定义父类种的属性,则可以直接使用,没必要通过super的方式进行访问
    super.方法  访问父类种已经被重写覆盖定义的方法

this   指代当前类对象
    this()/this(参数)  调用当前类的其它构造器
    this.属性 
    this.方法

抽象类: 语义不精确
    abstract class 不允许直接创建new对象,只能进行继承使用

    抽象方法 方法不允许有方法体,即使是空方法体

接口:抽象的抽象类:
           抽象类的关键字:interface
           接口的实现可以进行继承。
           常量:不允许定义属性,限定词public,static,final;声明同时便赋值,
           抽象方法方法上的限定詞:public,abstract,

           默认方法 default
                         defualt void cc(){
                               system.out.println("方法的默认实现")
                          }

           静态方法 static
                         static void cc(){
                               system.out.println("方法的静态实现")
                        }
                       静态方法只能访问静态成员。
                                                                                                                        
           私有方法private
                         private void cc(){
                               system.out.println("方法的私有实现")
                          }
                          只能在当前接口范围内进行调用。

           implements:实现:类实现接口。接口不能直接使用,必须对其进行实现后才能使用
           

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值