Java面相对象编程

编程入门 行业动态 更新时间:2024-10-15 18:22:45

Java<a href=https://www.elefans.com/category/jswz/34/1748142.html style=面相对象编程"/>

Java面相对象编程

  1. 面相对象与面相过程的区别
    面相对象:侧重的是对象,他会去创建一个对象,然后告诉这个对象要去干什么,对象自己去实现。
    优点:扩展性强,维护成本低。
    缺点:新手上手难
    面相过程:侧重于过程,告诉你第一步干嘛,第二部干嘛。
    优点:简单
    缺点:维护性差

  2. 类和对象
    类:是一类共同事务的统称,类的属性是事物的共同特征,类的行为是事务的共同动作
    对象:是类的一个具体化的东西。

  3. this关键字
    this表示当前类的对象。
    this可以在方法内部获取对象的属性
    this可以区分成员变量和局部变量。

  4. 构造方法
    在创建对象(new 类 ())的时候自动调用的方法,此方法没有返回值。
    java会自动赠送类一个无参的构造方法。
    public 类 (){
    }
    如果自己定义了构造方法,java就不会再送了。
    作用:在创建对象时可以设置对象的属性信息。

  5. 构造方法的重载
    构造方法也是方法,也可以进行重载。
    作用:可以有更多的方式创建对象。
    使用this()可以访问其他的构造方法。

  6. static
    被static修饰的属性是共享的,它是属于类的并不与属于对象, 优先于对象产生。
    通用构造器和静态构造器
    创建对象的过程(简单):
    1.静态构造器
    2.通用构造器
    3.构造方法->创建对象
    加载类之后会先执行静态的内容然后再创建对象,由于静态内容是在创建对象之前加载完成的,所以静态方法和静态块里面不能使用this。静态的内容也可以使用类名去访问。

  7. 访问权限
    public 公共的,所有人都可访问。
    default 默认 包访问权限,在自己包内的可以随意访问。
    private 私有,别人不能访问
    protected 受保护的 只有继承类可以访问它

  8. getter和setter
    setter主要是给成员变量赋值,做一定的保护。
    getter从成员变量中获取数据。

  9. 继承
    子类可以拥有父类中除了私有内容外的其它所有内容。
    子类是对父类的扩展。

  10. super关键字
    表示父类里面的内容
    可以用super来区分父类和子类重名的内容
    子类创建对象时程序会自动执行子类的构造方法,但由于子类的构造方法默认第一行有一个super();所以程序会先执行父类的无参构造,如果父类的构造方法有参,则子类的构造方法第一行要写一个带参的super();

  11. 方法的重写
    表示子类对父类的一些东西进行重新定义,子类和父类的方法声明完全一致,重写又称为方法的覆盖。

  12. 重载
    重载发生在本类,方法名相同,参数列表不同,与返回值无关,只和方法名,参数列表,参数的类型有关.
    重载(Overload):首先是位于一个类之中或者其子类中,具有相同的方法名,但是方法的参数不同,返回值类型可以相同也可以不同。
    (1):方法名必须相同
    (2):方法的参数列表一定不一样。
    (3):访问修饰符和返回值类型可以相同也可以不同。
    其实简单而言:重载就是对于不同的情况写不同的方法。 比如,同一个类中,写不同的构造函数用于初始化不同的参数。

  13. 多态
    同一个对象拥有多种形态。
    作用:把不同的数据类型进行统一,让程序具有强扩展性。
    子类的对象赋值给父类的变量 -> 向上转型
    缺点:屏蔽掉子类中的特有的方法。
    把父类的变量转化回子类的变量 ->向下转型,有风险java要求必须要写强制类型转换。

  14. final
    被final修饰的变量不能被改变。
    被final修饰的方法不能被重写。
    被final修饰的类不能被继承。

  15. 抽象
    只声明不实现,抽象方法使用abstract修饰,不可有方法体,直接用分号结束即可。
    特点:
    抽象类不可用创建对象,且抽象类的子类必须重写父类的抽象方法,否则子类必须是抽象类。
    抽象类可以强制要求子类必须要有哪些方法,起到规范性的作用。

  16. 接口
    接口是一种特殊的抽象类,接口的所有方法都是抽象方法,接口使用interface来声明。
    接口中的所有内容都是公共的,能继承接口的只能是接口,接口和类只能是实现关系,类只能单继承,接口支持多实现,接口同样具有多态性。
    接口中所有的变量全是全局静态常量。

  17. 成员变量的初始值
    java中的成员变量在创建对象时都会赋初始值
    byte=0
    short=0
    int=0
    long=0
    float=0.0
    double=0.0
    boolean=false
    char=[]

  18. object
    所有的东西都是对象,所有的类都要继承object

  19. equals和==
    ==判断两个变量或实例是不是指向同一个内存空间
    equals判断两个变量或实例所指向的内存空间的值是不是相同
    字符串的判断要用equals

  20. tostring方法
    直接打印对象会默认执行对象的tostring方法

  21. instanceof
    判断某个对象是某个类型的。

  22. 参数传递的问题
    java使用的是值传递

  23. 异常处理
    编译时异常和运行时异常
    抛异常
    捕获异常,默认是jvm来捕获异常,程序会中断

  24. 异常的分类
    运行时异常:一般不手动处理,出了问题再处理
    其他异常:必须经过手动处理。
    error:一般指的是系统级的错误,比如内存溢出。

  25. try…catch
    try{
    尝试执行的代码
    }catch(Exception e){
    处理异常的代码
    }finally{
    最终的
    }

  26. 异常处理throws和throw
    throws表示准备扔出一个异常。
    throw表示向外抛出异常。

  27. 自定义异常
    直接继承exception或者runtimeexception来实现异常。

更多推荐

Java面相对象编程

本文发布于:2024-02-26 09:03:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701965.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面相   对象   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!