oop总结

本文深入探讨了Java中的面向对象编程,包括对象、类的关系,对象的创建及属性、方法的使用。讲解了构造函数的作用及重载,强调了封装、继承和多态作为面向对象的三大特征。此外,还介绍了异常处理的基本概念,如运行时异常和编译异常,以及如何进行异常捕获和自定义异常。最后,概述了静态成员、常量、抽象类和接口等关键概念。
摘要由CSDN通过智能技术生成

1、面向对象、什么是对象、对象和类的关系
    什么是面向对象:万事万物皆为对象
    对象和类的关系:类是用来描述对象的
                对象是根据类来创建的
    对象:属性+功能
    类:属性+方法
    
2、创建对象 以及使用对象中的属性和方法
    类名 对象名 = new 类名();
    对象名.属性;
    对象名.方法();

3、重载:同类中方法名相同,参数列表不同,返回值类型可同可不同
    调用重载方法时,根据参数决定具体使用的方法
    
4、构造函数:是一个特殊的函数,与类名相同 无返回值类型
    每个类中最少有一个构造函数,默认有一个无参的构造
    任写一个构造函数都会把默认的无参构造覆盖掉
    构造函数可以重载,在创建对象时执行
    格式:
        public 类名([参数]){
            
        }
    作用:初始化对象
    
    
5、三大特征:
    封装、继承、多态
    封装:私有化属性,给私有属性提供公开方法
        1、私有化属性:private
            private int sid;
        2、提供公开方法:
            取值方法:
                public int getSid(){
                    return sid;
                }
            赋值方法:
                public void setSid(int sid){
                    this.sid = sid;
                }
    继承extends:子类继承父类中所有非私有属性和方法。构造函数不会被继承
        public class 子类 extends 父类{
            
        }
        Java中是单继承,一个类只能有一个直接父类
        Java中任何类都直接或间接继承于Object
        子类可以有自己独有的属性和方法
        子类可以重写继承的方法
    重写:继承关系下,子类中的方法与父类中的方法名相同,返回值类型相同,
        参数列表相同
        
    多态:一个对象,多种形态
        创建多态格式:
            父类 对象名 = new 子类([参数]);
            引用类型 引用对象 = new 实际类型([参数]);
            引用对象调用方法时只能调用到子类重写的方法和父类中有的方法
                如果有重写方法:会调用重写方法
    this、super
    this:当前对象
        this.属性;
        this.方法([参数]);//同类中一般直接调用方法:方法([参数]);
        this([参数]);当前对象的构造函数
        
    super:父类对象
        super([参数]);父类的构造函数
        super.属性;父类的属性
        super.方法名(参数);父类的方法
        每一个构造函数中都默认有一个无参的super();
        super([参数])和this([参数]);不能同时出现,但是可以同时存在
        
6、static:静态 共享
    用static修饰的属性 和 方法称为静态属性 和 静态方法
    静态属性和方法调用:
        类名.属性;
        类名.方法名([参数]);
    静态代码块:加载类时 优先执行
        static{
            代码块;
        }
    
    常量final:最终值,只能且必须赋值一次
        [static] final 数据类型 常量名 = 值;
    
7、抽象abstract:
    抽象方法:
        只有方法的定义,没有方法实现
    抽象类:
        用abstract修饰的类,就是抽象类。
        抽象类中可以有抽象方法也可有普通方法
        抽象类不能实例化对象,但是可以做引用类型
        
8、接口interface:接口不是类,是一种协议。纯粹的做方法定义(发布任务)
    比抽象类更抽象:接口中只能有抽象方法和静态常量
    接口不能实例化对象,但是可以做引用类型
    实现:implements
    接口中的抽象方法由类来实现:
        public class 类名 implements 接口{
            实现方法;
        }
        一个接口可以同时继承多个接口
        一个实现类可以同时实现多个接口

9、异常exception:异常不是错,是意外
    异常分类:
        运行异常(未检查异常):
            RuntimeException以及子类的都为未检查异常
            可处理可不处理
        编译异常(检查异常)
            Exception 以及子类(不包括RuntimeException)都属于
                    检查异常
            必须处理
        处理方式:
            1、抛出:不处理的处理方式
                在方法名后 throws 异常类型
            2、try:常规使用的处理方式
                try{
                    可能出现异常的代码块;
                }catch(异常类型 异常对象){
                    处理方式;
                }finally{
                    不管有么有异常 这里的代码都会执行
                }
            多层级捕获异常时(catch)应该先小后大,或者同级。    
            
                
    自定义异常:
        1、创建类 继承任意异常类
        2、构造异常信息:通过构造函数
        
        使用自定义异常:
            throw 异常对象;

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值