首页 > 编程语言 > 详细

温故而知新:Java重温第四天

时间:2021-06-21 09:57:52      阅读:33      评论:0      收藏:0      [点我收藏+]

Java复习第四天

static详解

  • static为静态。

  • 静态变量对于类,所有对象(实例)所共享,可以直接使用类取调用

public class Main {
?
    public static void main(String[] args) {
        run();//因为是静态的方法,所以可以直接调用
//        dong();//不是静态的方法不能直接调用 会报错。
        Main main = new Main();
        main.dong();//需要创建对象后才可以调用方法。
    }
    public static void run(){
        System.out.println("这是静态的方法");
    }
    public void dong(){
        System.out.println("这是动态的方法");
    }
}

技术分享图片

  • 提示:通过final修饰符修饰的类不可以继承。没有子类

抽象类

  • abstract 抽象类 : 接口 (接口可以多继承)

  • 只有方法名,没有方法的实现

  • 继承了抽象类的子类,必须要实现抽象类中的所有方法。

  • 不能new这个抽象类,只能靠子类取实现它;

  • 抽象方法必须再抽象类中

接口

  • 只有规范,自己无法写方法。

  • 声明接口的关键字时interface

  • 接口中的所有定义都是抽象的。

public interface 接口 {
    void sum(int a,int b);
}
?
class Sum implements 接口 {
    @Override
    public void sum(int a, int b) {
        int sum = a+b;
        System.out.println(sum);
    }
    public static void main(String[] args) {
       Sum s =  new Sum();
       s.sum(5,6);
    }
}

技术分享图片

  • 可以看到上方代码中,接口无法写具体方法,接口无法被实例化,需要在实现接口的类中写具体的方法,之后在主方法中创建接口实例,调用方法。

  • 接口可以多继承,继承多个接口,实现多个接口的方法。

  • 接口不能被实例化,接口中没有构造方法。

  • implements可以实现多个接口

  • 在接口的实现类中必须重写接口的方法。

内部类

class Outer {
    public void out(){
        System.out.println("外部类");
    }
    class Inner{
        public void in(){
            System.out.println("这是内部类");
        }
    }
}
class diaoyong{
    public static void main(String[] args) {
        Outer outer = new Outer();//这里时创建外部类的实例以及调用方法
        outer.out();
        //创建内部类
        Outer.Inner inner = outer.new Inner();
        inner.in();
    }
}

技术分享图片

  • 上图所示,我们可以看到在Outer类中又定义了一个类,叫做Inner类,这叫做内部类。

  • 内部类不可以直接实例化,需要先创建包含着他的类,也就是Outer类,之后再根据outer类new出内部类。

  • 静态内部类无法直接访问非静态属性

  • 一个java类中只能由一个Public的类,可以由多个class类。

异常

Error和Exception

  • 异常指的是,程序运行中出现的不期而至的各种状态,如:文件找不到,网络连接失败,非法参数等。

  • 异常发生在程序运行期间,它影响了正常的程序执行流程。

  • 异常可简单分为三大类,

    • 检查性异常:比如用户错误或者问题引起的异常,这是程序员无法预见的,例如要打开一个不存在文件时,一个异常发生了,这些异常在编译时不能被简单的忽略。

    • 运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略。

    • 错误:错误不是异常,而是脱离程序员控制的错误,错误在代码中通常被忽略,例如,当栈溢出时,一个错误就发生了,它们在编译时也检查不到。

技术分享图片

  • Error异常

技术分享图片

  • Exception

技术分享图片

捕获和抛出异常

  • 异常处理5个关键字:try、catch、finally、throw、throws

public class Student {
?
    public static void main(String[] args) {
?
        int a=1;
        int b=0;
       try {  //try监控区域
        System.out.println(a/b);
       }catch (ArithmeticException e){//捕获异常 catch(想要捕获的异常类型)
           System.out.println("程序出现异常,变量B不能为0");
       }finally {//处理善后工作
           System.out.println("finally");
       }
    }
}
  • 以上catch()里写的是需要捕获的异常类型,在以上的异常体系表里可以看出,异常类型是具有等级分别的,Throwable是最高级别,包含着所有异常。

  • 如果需要捕获多个异常,需要按照异常等级从小到大捕获。

  • 可以在idea中选中语句后ctrl+alt+t快捷键生成捕获异常语句

  • throw语句是手动抛出异常

技术分享图片



温故而知新:Java重温第四天

原文:https://www.cnblogs.com/abinbinbin/p/14909296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!