java面向对象编程

java面向对象编程

静态方法与非静态方法

静态方法(有static修饰符)

调用时使用类名.方法名

非静态方法(无static修饰符)

​ 实例化对象调用方法

创建与初始化对象

  • 使用new关键字创建对象

  • 使用new关键字创建对象时不仅会分配内存空间,还会为创建好的对象进行默认的初始化以及对类中的构造方法进行调用

    构造方法

    特点:

    1.方法名必须和类名相同

    2.必须没有返回值类型,也不可写void

    核心作用:

    1.使用new关键字本质调用构造方法

    2.可用于对象属性初始化

    注意:定义了有参构造,若要调用无参构造,则需显示定义一个无参构造方法。

    idea快捷键Alt+insert:生成构造方法,可选有参或无参

    ​ 生成getter setter方法

    封装 继承 多态

    封装作用

    1.提高程序的安全性

    2.隐藏代码的实现细节

    3.统一接口

    继承

    1.继承是类和类之间的一种关系

    2.继承关系的两个类,一个为子类一个为父类,使用关键字extends

    3.java中类只能单继承(一个儿子只能有一个爸爸,一个爸爸可以有多个儿子)

    idea快捷键:ctrl+H查看继承树

    Super关键字

    注意点:

    1.super调用父类的构造方法,必须在构造方法的第一个

    2.super必须只能出现在子类的方法或者构造方法中

    3.super和this不能同时调用构造方法

    super与this的区分

    代表的对象不同:

    this:本身调用者这个对象

    super:父类对象的应用

    前提:

    this:没有继承也可以使用

    super:只能在继承条件下才可以使用

    构造方法:

    this():本类的构造

    super():父类的构造

    方法重写

    前提:需要有继承关系,子类重写父类的方法。

    1.方法名必须相同

    2.参数列表必须相同

    3.修饰符范围可以扩大但不能缩小 public>protected>default>private

    4.抛出的异常:范围可以被缩小不能扩大

    classNotFoundException<Exception

    注意

    重写父类的方法,子类方法必须和父类一致,方法体不同

    为什么需要重写

    父类的功能,子类不一定需要或者不一定满足

    多态

    注意事项:

    1.多态是方法的多态,属性没有多态

    2.类型转换异常 ClassCastException

    3.存在条件:继承关系,方法需要重写,

    4.父类型可以指向子类但是不能调用子类独有的方法

    ​ Person person = new Student();

    5.不可重写:

    ​ static方法,属于类,不属于实例

    ​ final常量

    ​ private方法

    6.父类引用指向子类对象

    7.把子类转换为父类为上转型

    8.把父类转换为子类为下转型,需要强制类型转换

    instanceof关键字

    判断两个类之间是否存在父子关系

    Person instanceof Student

    Static关键字

    Static关键字类加载时执行,只执行一次

    非静态方法可以调用静态方法,静态方法不可调用非静态方法

    抽象类

    1.abstract修饰符,修饰类则为抽象类,修饰方法则为抽象方法

    2.抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类

    3.抽象类不能使用new关键字来创建对象,它是用来让子类继承的

    4.抽象方法只有方法的声明,没有方法的实现,它是用来让子类实现的

    5.子类继承抽象类,必须实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类

    6.抽象类中可以有普通方法

    接口

    **接口就是规范定义一组规则 **

    1.接口中所有定义都是抽象的,默认public static

    2.类通过implements关键字实现接口

    3.利用接口可以实现多继承,一个类可以实现多个接口并重写接口中所有方法。

    内部类

    定义:内部类就是在一个类的内部再定义一个类。若A类中定义一个B类,则B类为A类的内部类,A类为B类的外部类

    分类:

    • 成员内部类
    • 静态内部类(static修饰)
    • 局部内部类(在外部类的方法中)
    • 匿名内部类

    1.一个java类中可以有多个class类但是只能有一个public class 类

    异常机制

    1.java把异常当做对象处理,并定义一个基类java.lang.Throwable作为所有异常的超类

    2.在java API 中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception

    抛出 捕获异常

    1.try{//监控区域

    }catch(此参数为想要捕获的异常类型){

    ​ //捕获异常

    }finally{//处理善后工作

    不管是否出现异常都会执行

    }

    2.快捷键Ctrl+Alt+T 选中被包裹代码自动生成异常捕获

    3.throw关键字用于主动抛出异常,一般用在方法体中

    4.若在当前方法中无法处理此异常,则使用throws关键字在方法头(即在方法名的参数括号后)上抛出异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值