Java面向对象和异常

构造器

特点:

  1. 和类名相同
  2. 没有返回值

作用:

  1. new 本质是在调用构造方法
  2. 初始化对象的值

注意点:

定义有参构造后,如果想要使用无参构造,需要显示的定义一个无参的构造方法

封装

封装其实就是对属性的修饰符的修改,修改为private,这样就无法直接通过对象调用里面的属性,提供了一定的安全性

当我们想要访问其中的属性时,我们可以通过编写get和set方法对属性进行拿和取

继承

继承的本质是对某一批类的抽象

通过关键字extends来进行继承

Java中只有单继承,没有多继承

继承是类于类之间的一种关系。除此之外,类与类之间的关系还有依赖、组合

聚合。

抽象类

  1. 不能new这个抽象类,只能够靠子类去实现它
  2. 抽象类中可以写普通的方法
  3. 抽象方法必须在抽象类中
  4. 抽象类同样也存在着构造器
  5. 抽象类的存在是为了提高开发的效率

接口

  1. 约束
  2. 定义一些方法,让不同的人去实现
  3. 定义的类相当于public abstract
  4. 定义的属性相当于静态变量public static final
  5. 接口不能够被实例化,接口中是没用构造方法的
  6. implements可以实现多个接口,和继承不同,父类能有多个子类,而子类只能有单个父类
  7. 接口的中的方法一定要重写

多态

存在的条件:

  • 有继承的关系
  • 子类重写父类方法
  • 父类引用指向子类对象

注意:多态只是说的是方法的多态,而属性没有多态这一说法

​ 父类和子类有联系

​ 存在条件:继承关系,方法需要重写,父类引用指向子类对象

  1. static
  2. final
  3. private

这三个修饰的方法没有办法重写

异常

可以通过

try {
} catch (MyException e) {   
}

来捕捉异常

对于一些想要通过自己自定义的异常可以通过以下方法创建

public class MyException extends Exception{
    private int detail;

    @Override
    public String toString() {
        return "数字过大错误"  + detail ;
    }

    public MyException(int a) {
        this.detail = a;
    }
}
//当在方法中传入的参数为11时,程序进行if语句抛出异常,在main函数中被捕获,然后在MyException查到异常信息输出
public class Test {
    public static void main(String[] args) {
        try {
            test(11);
        } catch (MyException e) {
            System.out.println("MyException"+e);
        }

    }
    public static void test(int a) throws MyException {
        System.out.println("传递的参数为"+a);
        if(a>10){
            throw new MyException(a);
        }
        System.out.println("OK");
    }
}

在这个程序通过创建一个捕捉当输入大于10时所引起的异常,输出的结果为

传递的参数为11
MyException数字过大错误11

我们可以在My Exception中根据自己的需求修改自己想要输出的异常信息

throws和throw的区别:
throw:生成一个异常对象,并抛出,使用在方法内部 《——》自动抛出
throws:处理异常的方式,使用在方法声明处的末尾 《——》try—catch—finally

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值