java面向对象三大特性(新手必看)

本文详细介绍了面向对象编程的关键概念,包括封装的访问修饰符、继承机制(包括单继承和抽象类)、构造方法、方法重载与抽象方法、接口以及多态和异常处理的基本原理和实践。
摘要由CSDN通过智能技术生成

前言

        面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计软件开发,扩展到如数据库系统交互式界面、应用结构、应用平台、分布式系统网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

        面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

一.封装


    访问修饰符:private--->私有
              public---->公有
              protected->保护
              default--->普通
    非访问修饰符:static,final,abstract,synchronized,volatile
               static---静态 将归属改为类
               final----常量(常搭配static使用) 需在定义时赋值
    普通方法可访问:静态变量,普通变量
    静态方法可访问:静态变量
    封装前包名的写法:(全小写)域名倒置.功能
    封装的功能:保护数据安全,控制数据访问权限


二.继承


1.继承


    关键字:extends
    示例代码:
            public class abc extends ABC {

        }
    super 本身无意义,搭配变量名使用,搭配变量时指父类对象中的该变量
    注:子类只能继承一个父类----单继承
       私有化数据无法被继承


2.抽象类

    关键字:abstract ---用来定义规则
    示例
            public abstract class abc{
        }
    规则:
        1.不能创建对象
        2.不能写构造方法
        3.可以有正常的属性和方法
        4.可以有抽象方法
     


3.构造方法 -用来创建类的对象


    
    示例
            public 类名 (){
                代码块中会写一些跟类初始化相关代码
        }
    规则:
        1.类在创建对象时,必须创建一个构造方法,才能创建对象,不写的话,java会提供一个无参无代码构造
        2.不同构造方法通过参数区分,只要参数列表(数量不同,顺序不同,类型不同)不同,可以创建无数的构造方法
    
   

4.方法重载


    
    规则:
        1.方法名相同
        2.参数列表(数量不同,顺序不同,类型不同)不同
        3.同一个类中才会发生
        4.重写与重载不同
    面试题:
    重写与重载有什么区别?
    override与overload有什么区别?


    
5.抽象方法---定义规则


    
    示例:
            public abstract void abc ();
            void abc();
    
    无方法体,只规定返回值,参数......
    规则:
        1.抽象父类可以有抽象方法
        2.抽象方法只能在抽象类中
        3.子类继承一个抽象父类,必须重写其中的所有抽象方法
        4.抽象方法————定义方法编写的规则
    
   

6.接口 interface


    
    implements 实现接口
    规则:
        1.接口中的方法必须是全局抽象方法
        2.接口中的变量都是全局静态变量
    注:接口中只能写抽象方法

三.多态和异常

   

1.多态


    
    instanceof  对比数据类型
    端口(父类) abc = new.子类;
    相同的数据类型,存放不同的内容
    需要具有相关性
        1.自动转换,向上转换
         小类型 new给 大类型           例如:int a = 5;  double b = a;
        2.强制类型转换,向下转换
         小类型 abc = (小类型)ABC;   例如:double c=3.875; int a = (int)c;
     
   

2.异常


    
    Error--->错误
    Exception--->异常
        1.IOException       读写异常
        2.RunTimeException  运行时异常
    常见异常:
        1.ArithmeticException----------------算术错误,如:0当除数
        2.ArrayIndexOutOfBoundsException-----数组下标越界
        3.NullPointerException---------------空指针异常
        4.ClassNotFoundException-------------无法加载到所需的类
        5.IllegalArgumentException-----------方法接收到非法参数
        6.ClassCastException-----------------对象强制类型转换出错
        7.NumberFormatException--------------数字格式转换异常,如:把‘a‘转换为数字

        错误不可避免,异常可解决

        1.解决异常办法:
        try{
            代码块;                                     try中的代码执行出异常时
        }catch(Exception e){
            可以写无数个catch                     catch会匹配并捕获异常,捕获到后会继续执行后续代码
        }finally(){
            代码块;                                    无论有无异常,都会运行finally
        }
        2.不解决异常的办法:
        throws ______;  -------抛出异常
        public void abc() throws

        创建异常:throw
        throw new Exception(异常信息);


总结:


    try中写正常代码,当产生异常时会被catch捕获,finally无论是否捕获到异常,都会执行
    throw是自定义异常
    throws是抛出异常,让调用方法的地方进行异常处理
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值