Java基础3

快速加载类的方法:

Class cl1=Random.class;
Class cl2=int.class;
Class cl3=Double[].class;

//快速创建一个类的实例
String s="java.util.Random"
Object m=Class.forName(s).newInstance();

异常的类型:未检查异常和已检查异常

接口:接口不是类,不能实例化一个接口对象

但是声明接口变量:Comparable x;接口变量必须引用实现了接口的类 x=new xxx()[xxx实现了Comparable接口]

接口中方法默认我public,但是在实现接口的时候一定要将方法的修饰词写位public。

接口与抽象类的区别:

参数抽象类接口
默认方法的实现有默认的方法实现不可以有具体的实现方法
实现extendsimplements
构造器可以有构造器不可以
访问修饰符抽象方法可以有publicprotecteddefault这些修饰符只能是public(默认)
main方法抽象方法可以有main方法并且我们可以运行它ava8以后接口可以有default和static方法,所以可以运行main方法
多继承只能继承一个抽象类可以实现多个接口
添加新方法增加方法后,提供默认实现,不需要修改代码必须实现新增加的方法

Lambda表达式(尚未搞清楚,研究ing)

(String first,String second) ->
    {
        if(first.length()<second.length()) return -1;
        else if(first.length()>second.length()) return ;
        else return 0;
    }

//
System.out::println ===== x->System.out.println(x)
::操作符分隔方法名与对象或者类名
object::instanceMethod
Class::staticMethod
Class::instanceMethod

内部类:指定义在一个类中的类。

内部类可以访问该类定义所在的作用域中的数据。

内部类可以对同一包中的其他类隐藏。

当想要定义一个回调函数且不愿意编写大量代码的时候,使用匿名内部类比较便捷。

任何非静态内部类中,都不能有静态数据,静态方法或者又一个静态内部类。但是静态内部类中可以拥有一切。

局部内部类:局部内部类不能使用public或者private访问说明符进行声明。它的作用域被限定在声名这个局部内部类的块中。局部内部类对于外界是绝对隐藏的。

public void start(){
    class inner{
        System.out.println("局部内部类");
    }
}

其中的inner局部内部类只有start方法知道它的存在。

局部内部类只能访问被定义为final类型的变量。

匿名内部类:匿名内部类不能有构造器,匿名内部类将构造器传给超类构造器。

匿名内部类用来实现事件监听和其他回调。

静态内部类:使用静态内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围内部类对象,所以可以将内部类定义为static对象。

只有内部类可以声明为static,静态内部类可以有静态方法和静态域。

声明在接口中的内部类自动成为static和public类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值